Description of problem: When the ksh built-in kill is called with a very large, non-existent PID value, it's treated like -1 (kill all processes owned by the user). Version-Release number of selected component (if applicable): 20080202-14.el5 How reproducible: Every time Steps to Reproduce: 1.Start a ksh session 2.Run a command like "kill 11269117401228512356" Actual results: All processes owned by the user are killed, like the -1 argument would normally do. Expected results: error message - "kill: 11269117401228512356: no such process" Additional info: We encountered this when a user was trying to kill a series of processes. The user mis-entered the process list without separating spaces.
reproducible
Created attachment 496723 [details] patch to fix this
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: kill builtin did not handle extra large numbers and just reported -1 internally. This value was interpreted as -1 option thus ksh killed all user processes. This updated version has improved handling of pid conversion errors. When too big number is used, it reports error correctly.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-0159.html