Skip to content

Commit

Permalink
Merge branch 'ds/rev-parse-required-args'
Browse files Browse the repository at this point in the history
"git rev-parse --default" without the required option argument did
not diagnose it as an error.

* ds/rev-parse-required-args:
  rev-parse: check i before using argv[i] against argc
  • Loading branch information
Junio C Hamano committed Feb 27, 2014
2 parents 1e74545 + a43219f commit 28006fb
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions builtin/rev-parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -547,15 +547,17 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
continue;
}
if (!strcmp(arg, "--default")) {
def = argv[i+1];
i++;
def = argv[++i];
if (!def)
die("--default requires an argument");
continue;
}
if (!strcmp(arg, "--prefix")) {
prefix = argv[i+1];
prefix = argv[++i];
if (!prefix)
die("--prefix requires an argument");
startup_info->prefix = prefix;
output_prefix = 1;
i++;
continue;
}
if (!strcmp(arg, "--revs-only")) {
Expand Down Expand Up @@ -738,9 +740,12 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
continue;
}
if (!strcmp(arg, "--resolve-git-dir")) {
const char *gitdir = resolve_gitdir(argv[i+1]);
const char *gitdir = argv[++i];
if (!gitdir)
die("not a gitdir '%s'", argv[i+1]);
die("--resolve-git-dir requires an argument");
gitdir = resolve_gitdir(gitdir);
if (!gitdir)
die("not a gitdir '%s'", argv[i]);
puts(gitdir);
continue;
}
Expand Down

0 comments on commit 28006fb

Please sign in to comment.