diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2013-05-25 11:08:23 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-06-02 15:28:47 -0700 |
commit | bf42772e38db8e758aa28a045e8cba88096a9fcc (patch) | |
tree | d6ba4088263ca0811ffbf1c9762afc4cb9023e52 | |
parent | exclude_existing(): set existing_refs.strdup_strings (diff) | |
download | tgif-bf42772e38db8e758aa28a045e8cba88096a9fcc.tar.xz |
register_ref(): make a copy of the bad reference SHA-1
The lifetime of the sha1 parameter passed to an each_ref_fn callback
is not guaranteed, so make a copy for later use.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | bisect.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -15,7 +15,7 @@ static struct sha1_array good_revs; static struct sha1_array skipped_revs; -static const unsigned char *current_bad_sha1; +static unsigned char *current_bad_sha1; static const char *argv_checkout[] = {"checkout", "-q", NULL, "--", NULL}; static const char *argv_show_branch[] = {"show-branch", NULL, NULL}; @@ -404,7 +404,8 @@ static int register_ref(const char *refname, const unsigned char *sha1, int flags, void *cb_data) { if (!strcmp(refname, "bad")) { - current_bad_sha1 = sha1; + current_bad_sha1 = xmalloc(20); + hashcpy(current_bad_sha1, sha1); } else if (!prefixcmp(refname, "good-")) { sha1_array_append(&good_revs, sha1); } else if (!prefixcmp(refname, "skip-")) { |