qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] gdbstub: Fix memory leak


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH v2] gdbstub: Fix memory leak
Date: Fri, 11 Nov 2011 22:09:01 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20111004 Iceowl/1.0b1 Icedove/3.0.11

Am 18.10.2011 22:25, schrieb Stefan Weil:
cppcheck report:
   gdbstub.c:1781: error: Memory leak: s

Rearranging of the code avoids the leak.

v2:
Replace the g_malloc0() by g_new0() (suggested by Stuart Brady).

Signed-off-by: Stefan Weil<address@hidden>
---
  gdbstub.c |   14 ++++++++------
  1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/gdbstub.c b/gdbstub.c
index 4009058..8bf7167 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1768,12 +1768,6 @@ void gdb_register_coprocessor(CPUState * env,
      GDBRegisterState **p;
      static int last_reg = NUM_CORE_REGS;

-    s = (GDBRegisterState *)g_malloc0(sizeof(GDBRegisterState));
-    s->base_reg = last_reg;
-    s->num_regs = num_regs;
-    s->get_reg = get_reg;
-    s->set_reg = set_reg;
-    s->xml = xml;
      p =&env->gdb_regs;
      while (*p) {
          /* Check for duplicates.  */
@@ -1781,6 +1775,14 @@ void gdb_register_coprocessor(CPUState * env,
              return;
          p =&(*p)->next;
      }
+
+    s = g_new0(GDBRegisterState, 1);
+    s->base_reg = last_reg;
+    s->num_regs = num_regs;
+    s->get_reg = get_reg;
+    s->set_reg = set_reg;
+    s->xml = xml;
+
      /* Add to end of list.  */
      last_reg += num_regs;
      *p = s;


Ping? This patch is still missing for QEMU 1.0.

Kind regards,

Stefan Weil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]