]> sourceware.org Git - newlib-cygwin.git/commitdiff
Fix SEGV of kill -l 0
authorMichael Kwasigroch <mkwasigr@web.de>
Thu, 26 Nov 2015 21:30:43 +0000 (22:30 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Thu, 26 Nov 2015 21:31:01 +0000 (22:31 +0100)
* kill.cc (strsigno): Don't call sys_sigabbrev for signal 0.
(listsig): Don't call strsigno for signal 0.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/utils/ChangeLog
winsup/utils/kill.cc

index 70c03335a0d468c4c10c42d9be78c2b48b764184..de00ef71bc85cac2aeea90808e5a9d7adb2fa454 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-26  Michael Kwasigroch  <mkwasigr@web.de>
+
+       * kill.cc (strsigno): Don't call sys_sigabbrev for signal 0.
+       (listsig): Don't call strsigno for signal 0.
+
 2015-11-18  Corinna Vinschen  <corinna@vinschen.de>
 
        * setfacl.c (action_t): Rename DeleteAll to DeleteExt.  Add
index edabff32149ec9f2b33f89520e6046578001a8d0..2a7d8f6ecbcd6ef58563918b3a12fa41f29e7dcc 100644 (file)
@@ -1,7 +1,7 @@
 /* kill.cc
 
    Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
-   2009, 2011 Red Hat, Inc.
+   2009, 2011, 2015 Red Hat, Inc.
 
 This file is part of Cygwin.
 
@@ -70,7 +70,7 @@ print_version ()
 static const char *
 strsigno (int signo)
 {
-  if (signo >= 0 && signo < NSIG)
+  if (signo > 0 && signo < NSIG)
     return sys_sigabbrev[signo];
   static char buf[sizeof ("Unknown signal") + 32];
   sprintf (buf, "Unknown signal %d", signo);
@@ -121,7 +121,7 @@ listsig (const char *in_sig)
     {
       sig = getsig (in_sig);
       test_for_unknown_sig (sig, in_sig);
-      if (atoi (in_sig) == sig)
+      if (sig && atoi (in_sig) == sig)
        puts (strsigno (sig) + 3);
       else
        printf ("%d\n", sig);
This page took 0.037699 seconds and 5 git commands to generate.