From: Michael Haggerty Date: Sat, 25 May 2013 09:08:01 +0000 (+0200) Subject: fetch: make own copies of refnames X-Git-Tag: v1.8.4-rc0~170^2~23 X-Git-Url: http://git.bitbasher.net/?a=commitdiff_plain;h=b87dbcc89940edbf92cbab381001542a7cac3627;p=git.git fetch: make own copies of refnames Do not retain references to refnames passed to the each_ref_fn callback add_existing(), because their lifetime is not guaranteed. Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- diff --git a/builtin/fetch.c b/builtin/fetch.c index 4b6b1dfe66..f9491154ee 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -590,7 +590,7 @@ static void find_non_local_tags(struct transport *transport, struct ref **head, struct ref ***tail) { - struct string_list existing_refs = STRING_LIST_INIT_NODUP; + struct string_list existing_refs = STRING_LIST_INIT_DUP; struct string_list remote_refs = STRING_LIST_INIT_NODUP; const struct ref *ref; struct string_list_item *item = NULL; @@ -693,7 +693,7 @@ static int truncate_fetch_head(void) static int do_fetch(struct transport *transport, struct refspec *refs, int ref_count) { - struct string_list existing_refs = STRING_LIST_INIT_NODUP; + struct string_list existing_refs = STRING_LIST_INIT_DUP; struct string_list_item *peer_item = NULL; struct ref *ref_map; struct ref *rm;