[PATCH] push: fix segfault when HEAD points nowhere
- From
Fraser Tweedale <frase@frase.id.au>
- Date
- Jan 31, 2013, 12:22 UTC
- Message-ID
- <1359634971-79036-1-git-send-email-frase@frase.id.au>
When reporting the outcome of a push, a segfault occurs if HEAD does not point somewhere. Check that HEAD points somewhere before trying to strcmp it.
Signed-off-by: Fraser Tweedale <frase@frase.id.au> --- transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/transport.c b/transport.c index 9932f40..b9306ef 100644 --- a/transport.c +++ b/transport.c @@ -741,7 +741,7 @@ void transport_print_push_status(const char *dest, struct ref *refs, n += print_one_push_status(ref, dest, n, porcelain); if (ref->status == REF_STATUS_REJECT_NONFASTFORWARD && *nonfastforward != NON_FF_HEAD) { - if (!strcmp(head, ref->name)) + if (head != NULL && !strcmp(head, ref->name)) *nonfastforward = NON_FF_HEAD; else *nonfastforward = NON_FF_OTHER;
-- 1.8.1.1