summaryrefslogtreecommitdiff
path: root/merge-recursive.c
diff options
context:
space:
mode:
authorLibravatar Jonathan Nieder <jrnieder@gmail.com>2011-08-14 10:22:04 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-08-16 10:51:34 -0700
commit127f04522292fc62152762405c92d6acca4dbcb5 (patch)
tree799a8c1b30f8032e1e7e00c4358ee4c7c8d7b52c /merge-recursive.c
parentDocumentation/revert: describe passing more than one commit (diff)
downloadtgif-127f04522292fc62152762405c92d6acca4dbcb5.tar.xz
revert: plug memory leak in "cherry-pick root commit" codepath
The empty tree passed as common ancestor to merge_trees() when cherry-picking a parentless commit is allocated on the heap and never freed. Leaking such a small one-time allocation is not a very big problem, but now that "git cherry-pick" can cherry-pick multiple commits it can start to add up. Avoid the leak by storing the fake tree exactly once in the BSS section (i.e., use a static). While at it, let's add a test to make sure cherry-picking multiple parentless commits continues to work. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'merge-recursive.c')
0 files changed, 0 insertions, 0 deletions