fetch: do not leak a refspec
Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jim Meyering committed
Jun 8, 2011 at 22:06 UTC
d8ead15963890a42f99fd0e7f3192b55cacd9404
1 file changed
+4
-2
builtin/fetch.c
+4
-2
@@ -875,6 +875,7 @@ static int fetch_one(struct remote *remote, int argc, const char **argv)
875
{
876
int i;
877
static const char **refs = NULL;
878
+ struct refspec *refspec;
879
int ref_nr = 0;
880
int exit_code;
881
@@ -915,8 +916,9 @@ static int fetch_one(struct remote *remote, int argc, const char **argv)
916
917
sigchain_push_common(unlock_pack_on_signal);
918
atexit(unlock_pack);
918
- exit_code = do_fetch(transport,
919
- parse_fetch_refspec(ref_nr, refs), ref_nr);
919
+ refspec = parse_fetch_refspec(ref_nr, refs);
920
+ exit_code = do_fetch(transport, refspec, ref_nr);
921
+ free(refspec);
922
transport_disconnect(transport);
923
transport = NULL;
924
return exit_code;