diff options
author | Junio C Hamano <junkio@cox.net> | 2006-12-06 10:47:37 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-06 10:47:37 -0800 |
commit | 2d13b732e3b2aca685615f353e3353e26cdbd9b3 (patch) | |
tree | 88d4954398e0f775e787e091e9b03883a4decef3 | |
parent | 4003a58e415e5f51a3becac0079505b72299a7bc (diff) | |
parent | 49ed2bc4660c7cd0592cf21cc514080574d06320 (diff) | |
download | git-2d13b732e3b2aca685615f353e3353e26cdbd9b3.tar.gz git-2d13b732e3b2aca685615f353e3353e26cdbd9b3.tar.xz |
Merge branch 'maint'
* maint:
git-reset to remove "$GIT_DIR/MERGE_MSG"
unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
-rwxr-xr-x | git-reset.sh | 3 | ||||
-rw-r--r-- | unpack-trees.c | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/git-reset.sh b/git-reset.sh index 3133b5bd2..c0feb4435 100755 --- a/git-reset.sh +++ b/git-reset.sh @@ -63,6 +63,7 @@ case "$reset_type" in ;; esac -rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR" "$GIT_DIR/SQUASH_MSG" +rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR" \ + "$GIT_DIR/SQUASH_MSG" "$GIT_DIR/MERGE_MSG" exit $update_ref_status diff --git a/unpack-trees.c b/unpack-trees.c index 7cfd628d8..47aa804a8 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -370,7 +370,7 @@ int unpack_trees(struct object_list *trees, struct unpack_trees_options *o) int i; struct object_list *posn = trees; struct tree_entry_list df_conflict_list; - struct cache_entry df_conflict_entry; + static struct cache_entry *dfc; memset(&df_conflict_list, 0, sizeof(df_conflict_list)); df_conflict_list.next = &df_conflict_list; @@ -381,8 +381,10 @@ int unpack_trees(struct object_list *trees, struct unpack_trees_options *o) state.refresh_cache = 1; o->merge_size = len; - memset(&df_conflict_entry, 0, sizeof(df_conflict_entry)); - o->df_conflict_entry = &df_conflict_entry; + + if (!dfc) + dfc = xcalloc(1, sizeof(struct cache_entry) + 1); + o->df_conflict_entry = dfc; if (len) { posns = xmalloc(len * sizeof(struct tree_entry_list *)); |