]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* windows-nat.c (windows_xfer_shared_libraries): Avoid
authorPierre Muller <muller@sourceware.org>
Fri, 14 Dec 2012 07:50:02 +0000 (07:50 +0000)
committerPierre Muller <muller@sourceware.org>
Fri, 14 Dec 2012 07:50:02 +0000 (07:50 +0000)
memory leak when OFFSET >= LEN_AVAIL.

gdb/ChangeLog
gdb/windows-nat.c

index 891f6e059206dd633382ac69cddfbf556a1c4c11..d3c886de93f13767512bbf2ffe033cea5b92b098 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-14  Pierre Muller  <muller@sourceware.org>
+
+       * windows-nat.c (windows_xfer_shared_libraries): Avoid
+       memory leak when OFFSET >= LEN_AVAIL.
+
 2012-12-13  Tom Tromey  <tromey@redhat.com>
 
        * solib-svr4.c (enable_break): Use SECT_OFF_TEXT.
index 75831d821c346e82882e857896f3b69c1833762e..cc81a66ff7fe0fa71f21f524dd7bfb62c5b3e0ae 100644 (file)
@@ -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;