diff options
author | Jeff King <peff@peff.net> | 2010-02-24 12:08:53 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-24 11:16:14 -0800 |
commit | db03b55781f23a9276234faf9a21922ff8c5678d (patch) | |
tree | 6fbba79fe0bb29f19acb0ecc0528dcd25560cae8 | |
parent | 521537476fe99b97bfcdf1b8f0c579061af5fd3e (diff) | |
download | git-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.c | 2 |
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) |