Skip to content

Commit

Permalink
test-subprocess: fix segfault without arguments
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
René Scharfe authored and Junio C Hamano committed Apr 10, 2012
1 parent c2df758 commit a961d1f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions test-subprocess.c
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
#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;

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);
}

0 comments on commit a961d1f

Please sign in to comment.