bug-patch
[Top][All Lists]
Advanced

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

[bug-patch] [PATCH] avoid a minor leak


From: Jim Meyering
Subject: [bug-patch] [PATCH] avoid a minor leak
Date: Thu, 10 Mar 2011 19:24:43 +0100

I noticed/fixed a minor leak:

>From 55d16c63f13898351cbd8c2d2309295c0d9507a8 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Thu, 10 Mar 2011 19:23:28 +0100
Subject: [PATCH] avoid a minor leak

* src/util.c (parse_c_string): Avoid a leak when realloc-to-smaller
returns a different pointer.
---
 ChangeLog  |    6 ++++++
 src/util.c |    6 +++++-
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 77fb4d0..0fe6aa6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-03-10  Jim Meyering  <address@hidden>
+
+       avoid a minor leak
+       * src/util.c (parse_c_string): Avoid a leak when realloc-to-smaller
+       returns a different pointer.
+
 2011-02-20  Jim Meyering  <address@hidden>

        maint: remove unnecessary tests before free
diff --git a/src/util.c b/src/util.c
index f1187ff..42c4cb3 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1342,7 +1342,11 @@ parse_c_string (char const *s, char const **endp)
            *v++ = 0;
            v = realloc (u, v - u);
            if (v)
-             u = v;
+             {
+               if (u != v)
+                 free (u);
+               u = v;
+             }
            if (endp)
              *endp = s;
            return u;
--
1.7.4.1.299.ga459d



reply via email to

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