On Wed, Feb 04, 2015 at 03:55:03PM +0100, Benjamin Baier wrote:
> potentional double free in do-while-loop.
> found by llvm/scan-build

OK bluhm@

> 
> Index: route6d.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/route6d/route6d.c,v
> retrieving revision 1.64
> diff -u -p -r1.64 route6d.c
> --- route6d.c 16 Jan 2015 06:40:20 -0000      1.64
> +++ route6d.c 4 Feb 2015 13:43:50 -0000
> @@ -2449,9 +2449,9 @@ krtread(int again)
>       mib[5] = 0;             /* No flags */
>       do {
>               retry++;
> +             free(buf);
> +             buf = NULL;
>               errmsg = NULL;
> -             if (buf)
> -                     free(buf);
>               if (sysctl(mib, 6, NULL, &msize, NULL, 0) < 0) {
>                       errmsg = "sysctl estimate";
>                       continue;

Reply via email to