From: Michael Haggerty Date: Sat, 25 May 2013 09:08:23 GMT Subject: [PATCH v2 24/25] register_ref(): make a copy of the bad reference SHA-1 Message-ID: <1369472904-12875-25-git-send-email-mhagger@alum.mit.edu> In-Reply-To: <1369472904-12875-1-git-send-email-mhagger@alum.mit.edu> 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 --- bisect.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bisect.c b/bisect.c index 374d9e2..71c1958 100644 --- a/bisect.c +++ b/bisect.c @@ -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-")) { -- 1.8.2.3