Merge branch 'ly/prepare-show-merge-leakfix'

Leakfix.

* ly/prepare-show-merge-leakfix:
  revision: fix memory leak in prepare_show_merge()
maint
Junio C Hamano 2025-06-24 09:48:49 -07:00
commit f6e507f7cb
2 changed files with 25 additions and 0 deletions

View File

@ -2060,6 +2060,7 @@ static void prepare_show_merge(struct rev_info *revs)
parse_pathspec(&revs->prune_data, PATHSPEC_ALL_MAGIC & ~PATHSPEC_LITERAL,
PATHSPEC_PREFER_FULL | PATHSPEC_LITERAL_PATH, "", prune);
revs->limited = 1;
free(prune);
}

static int dotdot_missing(const char *arg, char *dotdot,

View File

@ -167,4 +167,28 @@ test_expect_success 'show --graph is forbidden' '
test_must_fail git show --graph HEAD
'

test_expect_success 'show unmerged index' '
git reset --hard &&

git switch -C base &&
echo "base" >conflicting &&
git add conflicting &&
git commit -m "base" &&

git branch hello &&
git branch goodbye &&

git switch hello &&
echo "hello" >conflicting &&
git commit -am "hello" &&

git switch goodbye &&
echo "goodbye" >conflicting &&
git commit -am "goodbye" &&

git switch hello &&
test_must_fail git merge goodbye &&
git show --merge HEAD
'

test_done