Subject: Re: [PATCH 05/15] builtin/apply.c: fix a memleak

From: Junio C Hamano <[email-masked]>
Date: Fri, 20 Mar 2015 20:45:06 -0700

Stefan Beller <[email-masked]> writes:

> oldlines is allocated earlier in the function and also freed on the
> successful code path.
>
> Signed-off-by: Stefan Beller <[email-masked]>
> ---
>  builtin/apply.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/builtin/apply.c b/builtin/apply.c
> index 65b97ee..e152c4d 100644
> --- a/builtin/apply.c
> +++ b/builtin/apply.c
> @@ -2776,6 +2776,7 @@ static int apply_one_fragment(struct image *img, struct fragment *frag,
>  		default:
>  			if (apply_verbosely)
>  				error(_("invalid start of line: '%c'"), first);
> +			free(oldlines);
>  			return -1;

Good.

By the way, aren't the following also leaking here?

 - the strbuf newlines that starts out as "size"
 - line[] arrays of preimage and postimage

>  		}
>  		if (added_blank_line) {