1
0
mirror of https://github.com/git/git.git synced 2024-09-28 06:30:37 +02:00

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>
This commit is contained in:
René Scharfe 2021-01-01 00:55:12 +01:00 committed by Junio C Hamano
parent 898f80736c
commit ca5120c339

View File

@ -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'"),