Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Fix a memory leak added in 0ec4b1650cc (clone: fix ref selection in > --single-branch --branch=xxx, 2012-06-22), we need to free_refs() the > result of copy_ref(). remote_head could be the result of guess_remote_head(), instead of copy_ref(), and in either case, once we are done with it, we need to and can safely free it. > diff --git a/builtin/clone.c b/builtin/clone.c > index 89a91b00177..c43c85dad07 100644 > --- a/builtin/clone.c > +++ b/builtin/clone.c > @@ -494,6 +494,7 @@ static struct ref *wanted_peer_refs(const struct ref *refs, > /* if --branch=tag, pull the requested tag explicitly */ > get_fetch_map(remote_head, tag_refspec, &tail, 0); > } > + free_refs(remote_head); Looks good. > } else { > int i; > for (i = 0; i < refspec->nr; i++)