diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-08-19 15:34:13 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-08-19 15:34:14 -0700 |
commit | aeb1b7f55d5db4eda968de5eb27f04d42df9edc1 (patch) | |
tree | fdea1fcbbbb3837bb82b38dc0d578c46020c0c4c /commit.h | |
parent | d63263a4dee8fc7da9b97bbdedf9c0d1f33024d4 (diff) | |
parent | 5447a76aad4074c31e7c8a6299cc586435f385e9 (diff) | |
download | git-aeb1b7f55d5db4eda968de5eb27f04d42df9edc1.tar.gz |
Merge branch 'rs/pull-signed-tag'
When "git merge-recursive" works on history with many criss-cross
merges in "verbose" mode, the names the command assigns to the
virtual merge bases could have overwritten each other by unintended
reuse of the same piece of memory.
* rs/pull-signed-tag:
commit: use FLEX_ARRAY in struct merge_remote_desc
merge-recursive: fix verbose output for multiple base trees
commit: factor out set_merge_remote_desc()
commit: use xstrdup() in get_merge_parent()
Diffstat (limited to 'commit.h')
-rw-r--r-- | commit.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -362,9 +362,11 @@ extern void for_each_mergetag(each_mergetag_fn fn, struct commit *commit, void * struct merge_remote_desc { struct object *obj; /* the named object, could be a tag */ - const char *name; + char name[FLEX_ARRAY]; }; #define merge_remote_util(commit) ((struct merge_remote_desc *)((commit)->util)) +extern void set_merge_remote_desc(struct commit *commit, + const char *name, struct object *obj); /* * Given "name" from the command line to merge, find the commit object |