diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/signals.c | 11 |
2 files changed, 10 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d18a677..9ff1de2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2002-01-13 Andrew Cagney <ac131313@redhat.com> + * signals.c (target_signal_to_name): Rewrite. Only use + signals[].name when in bounds and non-NULL. + +2002-01-13 Andrew Cagney <ac131313@redhat.com> + From Petr Ledvina <ledvinap@kae.zcu.cz>: * signals.c (target_signal_to_name): Verify that SIG is within the bounds of the signals array. diff --git a/gdb/signals.c b/gdb/signals.c index cf0078d..d37ec06 100644 --- a/gdb/signals.c +++ b/gdb/signals.c @@ -210,14 +210,13 @@ target_signal_to_string (enum target_signal sig) char * target_signal_to_name (enum target_signal sig) { - if (sig == TARGET_SIGNAL_UNKNOWN) - /* I think the code which prints this will always print it along with - the string, so no need to be verbose. */ - return "?"; - else if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST)) + if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST) + && signals[sig].name != NULL) return signals[sig].name; else - return signals[sig].name; + /* I think the code which prints this will always print it along + with the string, so no need to be verbose (very old comment). */ + return "?"; } /* Given a name, return its signal. */ |