summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar René Scharfe <rene.scharfe@lsrfire.ath.cx>2012-04-10 21:07:34 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-04-10 12:28:20 -0700
commita961d1f1ea2e3aaef0ff3e75920d1cd830d9b423 (patch)
treed69e3175e3698793f03328d956af708a051ddab9
parentsubmodule: fix prototype of gitmodules_config (diff)
downloadtgif-a961d1f1ea2e3aaef0ff3e75920d1cd830d9b423.tar.xz
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.c6
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);
}