From 6278fbc5dd5467e3f66f31dc9c4bb4a1a3519ba5 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Thu, 24 Sep 2015 09:40:42 -0400 Subject: patch parsing: squash some memory leaks --- src/patch_parse.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/patch_parse.c') diff --git a/src/patch_parse.c b/src/patch_parse.c index 25193b6b7..418ed1e0c 100644 --- a/src/patch_parse.c +++ b/src/patch_parse.c @@ -939,6 +939,10 @@ static void patch_parsed__free(git_patch *p) git__free(patch->rename_new_path); git__free(patch->old_path); git__free(patch->new_path); + git_array_clear(patch->base.hunks); + git_array_clear(patch->base.lines); + git__free(patch->base.delta); + git__free(patch); } int git_patch_from_patchfile( @@ -985,5 +989,8 @@ int git_patch_from_patchfile( *out = &patch->base; done: + if (error < 0) + patch_parsed__free(&patch->base); + return error; } -- cgit v1.2.1