bug-patch
[Top][All Lists]
Advanced

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

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


From: Bert Wesarg
Subject: Re: [bug-patch] [PATCH] avoid a minor leak
Date: Thu, 10 Mar 2011 19:49:20 +0100

Hi,

On Thu, Mar 10, 2011 at 19:24, Jim Meyering <address@hidden> wrote:
> 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.

That would hit me by surprise. Quoting POSIX.1-2008 for realloc(3):

If the new size of the memory object would require movement of the
object, the space for the previous instantiation of the object is
freed.

Bert

> +
>  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]