From: René Scharfe Date: Tue, 10 Apr 2012 19:07:34 +0000 (+0200) Subject: test-subprocess: fix segfault without arguments X-Git-Url: https://git.tokkee.org/?p=git.git;a=commitdiff_plain;h=a961d1f1ea2e3aaef0ff3e75920d1cd830d9b423 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 Signed-off-by: Junio C Hamano --- diff --git a/test-subprocess.c b/test-subprocess.c index 8926bc52a..f2d4c0d22 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); }