2011-02-27 Michael Snyder <msnyder@vmware.com>
authorMichael Snyder <msnyder@vmware.com>
Tue, 8 Mar 2011 18:58:54 +0000 (18:58 +0000)
committerMichael Snyder <msnyder@vmware.com>
Tue, 8 Mar 2011 18:58:54 +0000 (18:58 +0000)
* target.c (read_whatever_is_readable): Fix memory leak.

gdb/ChangeLog
gdb/target.c

index 2a1f02a887d118e827ec18b0a0f1178eb3380ce9..08bd2105c1b4963a47ca7ba54eeefcaeba1a3ef6 100644 (file)
@@ -1,5 +1,7 @@
 2011-03-08  Michael Snyder  <msnyder@vmware.com>
 
+       * target.c (read_whatever_is_readable): Fix memory leak.
+
        * i386-tdep.c (i386_process_record): Document fall through.
 
 2011-03-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
index 0792707018c8a455a59679cac7e14b6a25bafa28..aa5992048dd26043a69e06becfe8b7875a810566 100644 (file)
@@ -1968,7 +1968,10 @@ read_whatever_is_readable (struct target_ops *ops,
 
   /* If we previously failed to read 1 byte, nothing can be done here.  */
   if (end - begin <= 1)
-    return;
+    {
+      xfree (buf);
+      return;
+    }
 
   /* Check that either first or the last byte is readable, and give up
      if not.  This heuristic is meant to permit reading accessible memory
@@ -1987,6 +1990,7 @@ read_whatever_is_readable (struct target_ops *ops,
     }
   else
     {
+      xfree (buf);
       return;
     }