summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2016-02-22 17:13:23 +0100
committerPatrick Steinhardt <ps@pks.im>2016-02-23 12:07:37 +0100
commit3d1abc5afcee2b878d835df11530aab8ffa0d1e1 (patch)
tree30e39fa1b21e818a1eba7b728bcb03aa16fca6dc
parent05bf67b90186d2ad2c6c9adfa2c0024520cdb342 (diff)
downloadlibgit2-3d1abc5afcee2b878d835df11530aab8ffa0d1e1.tar.gz
xmerge: fix memory leak on error path
-rw-r--r--src/xdiff/xmerge.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/xdiff/xmerge.c b/src/xdiff/xmerge.c
index 7b7e0e2d3..7928d1418 100644
--- a/src/xdiff/xmerge.c
+++ b/src/xdiff/xmerge.c
@@ -646,6 +646,8 @@ int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2,
if (xdl_change_compact(&xe2.xdf1, &xe2.xdf2, xpp->flags) < 0 ||
xdl_change_compact(&xe2.xdf2, &xe2.xdf1, xpp->flags) < 0 ||
xdl_build_script(&xe2, &xscr2) < 0) {
+ xdl_free_script(xscr1);
+ xdl_free_env(&xe1);
xdl_free_env(&xe2);
return -1;
}