[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug in gdb/target.c:target_signal_to_name
From: |
Petr Ledvina |
Subject: |
bug in gdb/target.c:target_signal_to_name |
Date: |
Fri, 30 Nov 2001 18:37:19 +0100 (MET) |
When remote target returns some invalid signal, gdb vill crash with
segfault. The problem seems to be in function target_signal_to_name,
which doesn't check, if signal is in bounds and returns invalid name.
This version will (at least) not segfault:
/* Return the name for a signal. */
char *
target_signal_to_name (sig)
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 "?";
if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST))
return signals[sig].name;
else
return signals[TARGET_SIGNAL_UNKNOWN].name;
}
Petr Ledvina
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug in gdb/target.c:target_signal_to_name,
Petr Ledvina <=