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;