From 49dc7f4b4736a708e8de645ebff64ba5084d33d1 Mon Sep 17 00:00:00 2001 From: Pierre Muller Date: Fri, 14 Dec 2012 07:50:02 +0000 Subject: [PATCH] * windows-nat.c (windows_xfer_shared_libraries): Avoid memory leak when OFFSET >= LEN_AVAIL. --- gdb/ChangeLog | 5 +++++ gdb/windows-nat.c | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 891f6e0592..d3c886de93 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2012-12-14 Pierre Muller + + * windows-nat.c (windows_xfer_shared_libraries): Avoid + memory leak when OFFSET >= LEN_AVAIL. + 2012-12-13 Tom Tromey * solib-svr4.c (enable_break): Use SECT_OFF_TEXT. diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 75831d821c..cc81a66ff7 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -2411,11 +2411,13 @@ windows_xfer_shared_libraries (struct target_ops *ops, buf = obstack_finish (&obstack); len_avail = strlen (buf); if (offset >= len_avail) - return 0; - - if (len > len_avail - offset) - len = len_avail - offset; - memcpy (readbuf, buf + offset, len); + len= 0; + else + { + if (len > len_avail - offset) + len = len_avail - offset; + memcpy (readbuf, buf + offset, len); + } obstack_free (&obstack, NULL); return len;