]> granicus.if.org Git - sudo/commitdiff
Handle NULL entries in sys_siglist and sys_signame.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 28 Aug 2012 13:40:56 +0000 (09:40 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 28 Aug 2012 13:40:56 +0000 (09:40 -0400)
compat/strsignal.c
compat/strsigname.c

index d5db46a3d8f452ecd286e3834c0110a30082c990..9ebb8e12c8cb5ae94e5b980eadc0605eaf39f0e0 100644 (file)
@@ -42,7 +42,7 @@ extern const char *const sudo_sys_siglist[NSIG];
 char *
 strsignal(int signo)
 {
-    if (signo > 0 && signo < NSIG)
+    if (signo > 0 && signo < NSIG && sudo_sys_siglist[signo] != NULL)
        return (char *)sudo_sys_siglist[signo];
     /* XXX - should be "Unknown signal: %d" */
     return _("Unknown signal");
index 0280ef4a82166b1e9c6d4c415844411c62d2aa27..6194724ff9e98cebc587eae5bc9f4cb7812e05d5 100644 (file)
@@ -42,7 +42,7 @@ extern const char *const sudo_sys_signame[NSIG];
 char *
 strsigname(int signo)
 {
-    if (signo > 0 && signo < NSIG)
+    if (signo > 0 && signo < NSIG && sudo_sys_signame[signo] != NULL)
        return (char *)sudo_sys_signame[signo];
     /* XXX - should be "Unknown signal: %d" */
     return _("Unknown signal");