From 5e6ce1cfb212a6dd71790933186275081cffe3c3 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 17 Feb 2019 22:59:36 +0100 Subject: [PATCH] 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 --- 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 ae6e03ea6..fd6595b98 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 768ac44e7..a22d70253 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;