Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTommi Kyntola <tommi.kyntola@ray.fi>2007-02-16 11:50:58 +0300
committerJunio C Hamano <junkio@cox.net>2007-02-17 08:39:21 +0300
commitf44213258de3fbef932f9c655213202f69dccc80 (patch)
tree3b7a5142b1ec8fcd22531845921e6a4aaea73068 /builtin-blame.c
parentde6f0def506935811384a39fb0660095f5555e68 (diff)
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>
Diffstat (limited to 'builtin-blame.c')
-rw-r--r--builtin-blame.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin-blame.c b/builtin-blame.c
index 69fc145a38..1a752b95bb 100644
--- a/builtin-blame.c
+++ b/builtin-blame.c
@@ -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];