From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29417 invoked by alias); 7 May 2009 23:29:49 -0000 Received: (qmail 29408 invoked by uid 22791); 7 May 2009 23:29:49 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 07 May 2009 23:29:44 +0000 Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id n47NTfiJ028821 for ; Fri, 8 May 2009 00:29:41 +0100 Received: from localhost (ruffy.mtv.corp.google.com [172.18.118.116]) by wpaz1.hot.corp.google.com with ESMTP id n47NTdHw032494 for ; Thu, 7 May 2009 16:29:40 -0700 Received: by localhost (Postfix, from userid 67641) id 4C0DB84890; Thu, 7 May 2009 16:29:39 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [obv] fix memory leaks in gdbserver Message-Id: <20090507232939.4C0DB84890@localhost> Date: Thu, 07 May 2009 23:29:00 -0000 From: dje@google.com (Doug Evans) X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-05/txt/msg00168.txt.bz2 Hi. Checked in under the obvious rule. 2009-05-07 Doug Evans * linux-low.c (regsets_fetch_inferior_registers): Fix memory leak. (regsets_store_inferior_registers): Ditto. Index: linux-low.c =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/linux-low.c,v retrieving revision 1.99 diff -u -p -u -p -r1.99 linux-low.c --- linux-low.c 6 May 2009 17:32:59 -0000 1.99 +++ linux-low.c 7 May 2009 23:23:35 -0000 @@ -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