* linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
authorDoug Evans <dje@google.com>
Thu, 7 May 2009 23:29:25 +0000 (23:29 +0000)
committerDoug Evans <dje@google.com>
Thu, 7 May 2009 23:29:25 +0000 (23:29 +0000)
(regsets_store_inferior_registers): Ditto.

gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c

index 680c168..022f266 100644 (file)
@@ -1,3 +1,8 @@
+2009-05-07  Doug Evans  <dje@google.com>
+
+       * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak.
+       (regsets_store_inferior_registers): Ditto.
+
 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
 
        PR server/10048
index bf17904..46969b7 100644 (file)
@@ -2092,6 +2092,7 @@ regsets_fetch_inferior_registers ()
              /* If we get EIO on a regset, do not try it again for
                 this process.  */
              disabled_regsets[regset - target_regsets] = 1;
+             free (buf);
              continue;
            }
          else
@@ -2106,6 +2107,7 @@ regsets_fetch_inferior_registers ()
        saw_general_regs = 1;
       regset->store_function (buf);
       regset ++;
+      free (buf);
     }
   if (saw_general_regs)
     return 0;
@@ -2165,6 +2167,7 @@ regsets_store_inferior_registers ()
              /* If we get EIO on a regset, do not try it again for
                 this process.  */
              disabled_regsets[regset - target_regsets] = 1;
+             free (buf);
              continue;
            }
          else if (errno == ESRCH)
@@ -2173,6 +2176,7 @@ regsets_store_inferior_registers ()
                 already gone, in which case we simply ignore attempts
                 to change its registers.  See also the related
                 comment in linux_resume_one_lwp.  */
+             free (buf);
              return 0;
            }
          else