Red Hat Bugzilla – Bug 156373
shell_cmd should use waitpid instead of wait
Last modified: 2007-11-30 17:11:05 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041220
Description of problem:
The shell_cmd function in shell_cmd.c does the following loop to
wait for its command to terminate:
while ((wait_pid = wait((int *) 0)) != -1 && wait_pid != child_pid)
Having now the waitpid primitive, it would be safer to use it instead:
waitpid(child_pid, (int *) 0, 0)
otherwise an application linked with tcp_wrappers and needing to get
the exit status of its children may fail because of that loop in
shell_cmd, if /etc/hosts.allow is setup to fork a command for this
That happened on our site with am-utils (amd and amq).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. acces to many automount points
2. tell amd to unmount them with "amq -u"
3. repeat 1. end 2.
*** Bug 157204 has been marked as a duplicate of this bug. ***
Fedora Core 3 is now maintained by the Fedora Legacy project for security
updates only. If this problem is a security issue, please reopen and
reassign to the Fedora Legacy product. If it is not a security issue and
hasn't been resolved in the current FC5 updates or in the FC6 test
release, reopen and change the version to match.
This should be fixed in rawhide.