[PATCH] push: fix segfault when HEAD points nowhere
From: Fraser Tweedale <hidden>
Date: 2016-06-15 22:56:00
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Fraser Tweedale <hidden>
Date: 2016-06-15 22:56:00
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- 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