Fix PR remote/15974
In remote-notif.c:handle_notification, we have a loop, for (i = 0; i < ARRAY_SIZE (notifs); i++) { nc = notifs[i]; if (strncmp (buf, nc->name, strlen (nc->name)) == 0 && buf[strlen (nc->name)] == ':') break; } /* We ignore notifications we don't recognize, for compatibility with newer stubs. */ if (nc == NULL) return; If the notification is not in the list 'notifs', the last entry is used, which is wrong. It should be NULL. This patch fixes it. gdb: 2013-12-02 Pedro Alves <palves@redhat.com> PR remote/15974 * remote-notif.c (handle_notification): Return early if no notification is found.
This commit is contained in:
parent
f9b0da3d58
commit
62972e0b66
2 changed files with 15 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
2013-12-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR remote/15974
|
||||
* remote-notif.c (handle_notification): Return early if no
|
||||
notification is found.
|
||||
|
||||
2013-12-02 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* common/filestuff.c (fdwalk): Add "defined(RLIMIT_NOFILE)"
|
||||
|
|
|
@ -127,22 +127,25 @@ remote_async_get_pending_events_handler (gdb_client_data data)
|
|||
void
|
||||
handle_notification (struct remote_notif_state *state, char *buf)
|
||||
{
|
||||
struct notif_client *nc = NULL;
|
||||
int i;
|
||||
struct notif_client *nc;
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (notifs); i++)
|
||||
{
|
||||
nc = notifs[i];
|
||||
if (strncmp (buf, nc->name, strlen (nc->name)) == 0
|
||||
&& buf[strlen (nc->name)] == ':')
|
||||
const char *name = notifs[i]->name;
|
||||
|
||||
if (strncmp (buf, name, strlen (name)) == 0
|
||||
&& buf[strlen (name)] == ':')
|
||||
break;
|
||||
}
|
||||
|
||||
/* We ignore notifications we don't recognize, for compatibility
|
||||
with newer stubs. */
|
||||
if (nc == NULL)
|
||||
if (i == ARRAY_SIZE (notifs))
|
||||
return;
|
||||
|
||||
nc = notifs[i];
|
||||
|
||||
if (state->pending_event[nc->id] != NULL)
|
||||
{
|
||||
/* We've already parsed the in-flight reply, but the stub for some
|
||||
|
|
Loading…
Reference in a new issue