From ec1b8d8625b55b1aa68a2ff0ca083ae054dd2f34 Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Thu, 3 Jul 2025 12:02:33 +0200 Subject: [PATCH] - Add a check to ensure that /proc/$$/exe can be read thanks to mbliss@redhat.com for the report and the proposed patch Resolves: RHEL-101069 --- which.spec | 7 ++++++- which2.sh | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/which.spec b/which.spec index 19e60b8..3b24e24 100644 --- a/which.spec +++ b/which.spec @@ -1,7 +1,7 @@ Summary: Displays where a particular program in your path is located Name: which Version: 2.21 -Release: 20%{?dist} +Release: 21%{?dist} License: GPLv3 Source0: http://ftp.gnu.org/gnu/which/%{name}-%{version}.tar.gz Source1: which2.sh @@ -44,6 +44,11 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/dir %{_mandir}/man1/which.1* %changelog +* Thu Jul 03 2025 Than Ngo - 2.21-21 +- Add a check to ensure that /proc/$$/exe can be read + thanks to mbliss@redhat.com for the report and the proposed patch + Resolves: RHEL-101069 + * Wed Mar 22 2023 Than Ngo - 2.21-20 - Related: #2140566, bring test over from Brew dist-git diff --git a/which2.sh b/which2.sh index bca5347..d407c0a 100644 --- a/which2.sh +++ b/which2.sh @@ -1,7 +1,14 @@ # shellcheck shell=sh # Initialization script for bash, sh, mksh and ksh -case "$(basename $(readlink /proc/$$/exe))" in + +if [ -r /proc/$$/exe ]; then + SHELLNAME=$(basename $(readlink /proc/$$/exe)) +else + SHELLNAME="unknown" +fi + +case "$SHELLNAME" in *ksh*) which_declare="" which_opt=""