remote: avoid passing NULL to read_ref()

read_ref() can (and in test t5800, actually *does*) return NULL. Don't pass the NULL along to read_ref(). Coincidentally, this mistake didn't make resolve_ref() blow up, but upcoming changes to resolve_ref() will make it less forgiving. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Michael Haggerty committed Sep 15, 2011 at 23:10 UTC d51b720fca4ee5418952a90f785317592a7a1242
1 file changed +4 -2
transport-helper.c
+4 -2
@@ -446,8 +446,10 @@ static int fetch_with_import(struct transport *transport,
446 private = apply_refspecs(data->refspecs, data->refspec_nr, posn->name);
447 else
448 private = xstrdup(posn->name);
449 - read_ref(private, posn->old_sha1);
450 - free(private);
449 + if (private) {
450 + read_ref(private, posn->old_sha1);
451 + free(private);
452 + }
453 }
454 strbuf_release(&buf);
455 return 0;