Browse Source

rebase: verify commit parameter

If the user specifies a base commit to switch to, check if it actually
references a commit right away to avoid getting confused later on when
it turns out to be an invalid object.

Reported-by: LeSeulArtichaut <leseulartichaut@gmail.com>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
René Scharfe 4 years ago committed by Junio C Hamano
parent
commit
ca5120c339
  1. 4
      builtin/rebase.c

4
builtin/rebase.c

@ -1906,7 +1906,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) @@ -1906,7 +1906,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
die_if_checked_out(buf.buf, 1);
options.head_name = xstrdup(buf.buf);
/* If not is it a valid ref (branch or commit)? */
} else if (!get_oid(branch_name, &options.orig_head))
} else if (!get_oid(branch_name, &options.orig_head) &&
lookup_commit_reference(the_repository,
&options.orig_head))
options.head_name = NULL;
else
die(_("fatal: no such branch/commit '%s'"),

Loading…
Cancel
Save