From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9811 invoked by alias); 18 Feb 2019 09:56:22 -0000 Mailing-List: contact cygwin-cvs-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-cvs-owner@cygwin.com Received: (qmail 9788 invoked by uid 9078); 18 Feb 2019 09:56:22 -0000 Date: Mon, 18 Feb 2019 09:56:00 -0000 Message-ID: <20190218095622.9787.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: utils: kill: revert erroneously removed optind correction X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: 7e671e75787777c9ab8a1144a10c1187b7ced984 X-Git-Newrev: 5e6ce1cfb212a6dd71790933186275081cffe3c3 X-SW-Source: 2019-q1/txt/msg00162.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5e6ce1cfb212a6dd71790933186275081cffe3c3 commit 5e6ce1cfb212a6dd71790933186275081cffe3c3 Author: Corinna Vinschen Date: Sun Feb 17 22:59:36 2019 +0100 Cygwin: utils: kill: revert erroneously removed optind correction When recognizing a negative pid, optind is off by one. The code correcting this has been erroneously removed by commit 8de660271fe75a6993f1c9888d24b824bb7f999d. Revert that. Signed-off-by: Corinna Vinschen Diff: --- winsup/cygwin/release/3.0.1 | 3 +++ winsup/utils/kill.cc | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/release/3.0.1 b/winsup/cygwin/release/3.0.1 index ae6e03e..fd6595b 100644 --- a/winsup/cygwin/release/3.0.1 +++ b/winsup/cygwin/release/3.0.1 @@ -11,3 +11,6 @@ Bug Fixes - Relax fork child permissions to avoid a potential fork failure. Addresses: https://cygwin.com/ml/cygwin/2019-02/msg00234.html + +- Fix Command-line argument handling of kill(1) in terms of negative PID. + Addresses: report on IRC diff --git a/winsup/utils/kill.cc b/winsup/utils/kill.cc index 768ac44..a22d702 100644 --- a/winsup/utils/kill.cc +++ b/winsup/utils/kill.cc @@ -251,7 +251,10 @@ main (int argc, char **argv) break; case '?': if (gotasig) /* this is a negative pid, go ahead */ - goto out; + { + --optind; + goto out; + } optreset = 1; optind = 1 + av - argv; gotasig = *av + 1;