-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
rhel-9.3.0
-
None
-
None
-
Moderate
-
sst_cs_plumbers
-
ssg_core_services
-
3
-
False
-
-
None
-
None
-
None
-
None
-
x86_64
-
None
What were you trying to do that didn't work?
A customer upgraded from RHEL 7.9 to RHEL 9.3. My company's product triggered the buggy behavior on the new OS. It did so by (1) forking, and then in the forked child process (2) changing directory and (3) exec'ing a ksh script, which in turn executed the pwd command.
Please provide the package NVR for which bug is seen:
ksh-1.0.0~beta.1-3.el9.x86_64
Not seen in ksh-1.0.0~beta.1-2.el9.x86_64 (in RHEL 9.2), so the bug is evidently a result of fixing bugzilla bug 2123066.
How reproduceable
Always.
Steps to reproduce
Either of the following command lines, run in any shell:
- cd /tmp; env - ksh -c pwd
- cd /tmp; env PWD=/ ksh -c pwd
More generally, pretty much any value of PWD other than /tmp provokes the error.
Expected results
Standard output "/tmp". Status 0.
Actual results
Standard error "pwd: determine present working directory". Status 1.
Comments
This bug makes ksh non-POSIX-compliant. POSIX basically says that pwd should ignore PWD if it doesn't point to the cwd.
It's pretty common for programs to change directory and spawn shell scripts without first setting PWD. GNU make is an example.