diff options
author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | 2012-04-10 23:07:34 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-04-10 23:28:20 +0400 |
commit | a961d1f1ea2e3aaef0ff3e75920d1cd830d9b423 (patch) | |
tree | d69e3175e3698793f03328d956af708a051ddab9 | |
parent | c2df7585efcced5833891938fe01c24c9fb36dd7 (diff) |
test-subprocess: fix segfault without arguments
Check if we even have a parameter before checking its value. Running
this command without any arguments may not make a lot of sense, but
reacting with a segmentation fault is unduly harsh.
While we're at it, avoid casting argv by declaring it const right away.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | test-subprocess.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test-subprocess.c b/test-subprocess.c index 8926bc52a9..f2d4c0d22b 100644 --- a/test-subprocess.c +++ b/test-subprocess.c @@ -1,7 +1,7 @@ #include "cache.h" #include "run-command.h" -int main(int argc, char **argv) +int main(int argc, const char **argv) { struct child_process cp; int nogit = 0; @@ -9,12 +9,12 @@ int main(int argc, char **argv) setup_git_directory_gently(&nogit); if (nogit) die("No git repo found"); - if (!strcmp(argv[1], "--setup-work-tree")) { + if (argc > 1 && !strcmp(argv[1], "--setup-work-tree")) { setup_work_tree(); argv++; } memset(&cp, 0, sizeof(cp)); cp.git_cmd = 1; - cp.argv = (const char **)argv+1; + cp.argv = argv + 1; return run_command(&cp); } |