summaryrefslogtreecommitdiff
path: root/test-subprocess.c
diff options
context:
space:
mode:
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>2012-04-10 19:07:34 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-04-10 19:28:20 (GMT)
commita961d1f1ea2e3aaef0ff3e75920d1cd830d9b423 (patch)
treed69e3175e3698793f03328d956af708a051ddab9 /test-subprocess.c
parentc2df7585efcced5833891938fe01c24c9fb36dd7 (diff)
downloadgit-a961d1f1ea2e3aaef0ff3e75920d1cd830d9b423.zip
git-a961d1f1ea2e3aaef0ff3e75920d1cd830d9b423.tar.gz
git-a961d1f1ea2e3aaef0ff3e75920d1cd830d9b423.tar.bz2
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>
Diffstat (limited to 'test-subprocess.c')
-rw-r--r--test-subprocess.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/test-subprocess.c b/test-subprocess.c
index 8926bc5..f2d4c0d 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);
}