summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2010-02-24 12:08:53 -0500
committerJunio C Hamano <gitster@pobox.com>2010-02-24 11:16:14 -0800
commitdb03b55781f23a9276234faf9a21922ff8c5678d (patch)
tree6fbba79fe0bb29f19acb0ecc0528dcd25560cae8
parent521537476fe99b97bfcdf1b8f0c579061af5fd3e (diff)
downloadgit-db03b55781f23a9276234faf9a21922ff8c5678d.tar.gz
push: fix segfault for odd config
If you have a branch.$X.merge config option, but no branch.$X.remote, and your configuration tries to push tracking branches, git will segfault. The problem is that even though branch->merge_nr is 1, you don't actually have an upstream since there is no remote. Other callsites generally check explicitly that branch->merge is not NULL, so let's do that here, too. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-push.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin-push.c b/builtin-push.c
index 45fe843b20..041e5f4608 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -54,7 +54,7 @@ static void setup_push_tracking(void)
struct branch *branch = branch_get(NULL);
if (!branch)
die("You are not currently on a branch.");
- if (!branch->merge_nr)
+ if (!branch->merge_nr || !branch->merge)
die("The current branch %s is not tracking anything.",
branch->name);
if (branch->merge_nr != 1)