git-blame: prevent argument parsing segfault
The 3rd branch in builtin-blame.c should also check for lacking arguments. Running that in top dir does not trigger the problem because the 'prefix' is NULL. Signed-off-by: Tommi Kyntola <tommi.kyntola@ray.fi> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
de6f0def50
commit
f44213258d
@ -2200,6 +2200,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
|
||||
if (!strcmp(argv[j], "--"))
|
||||
seen_dashdash = j;
|
||||
if (seen_dashdash) {
|
||||
/* (2) */
|
||||
if (seen_dashdash + 1 != argc - 1)
|
||||
usage(blame_usage);
|
||||
path = add_prefix(prefix, argv[seen_dashdash + 1]);
|
||||
@ -2208,6 +2209,8 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
else {
|
||||
/* (3) */
|
||||
if (argc <= i)
|
||||
usage(blame_usage);
|
||||
path = add_prefix(prefix, argv[i]);
|
||||
if (i + 1 == argc - 1) {
|
||||
final_commit_name = argv[i + 1];
|
||||
|
Loading…
Reference in New Issue
Block a user