]> git.ipfire.org Git - thirdparty/git.git/blobdiff - run-command.c
run_hook(): check the executability of the hook before filling argv
[thirdparty/git.git] / run-command.c
index 49810a835e8977d8c90a07cc5b965658e87fa0c4..fc54c07a932dbefe39ea98e4cfbb4a15d158b70d 100644 (file)
@@ -352,6 +352,9 @@ int run_hook(const char *index_file, const char *name, ...)
        int ret;
        int i;
 
+       if (access(git_path("hooks/%s", name), X_OK) < 0)
+               return 0;
+
        va_start(args, name);
        argv[0] = git_path("hooks/%s", name);
        i = 0;
@@ -362,9 +365,6 @@ int run_hook(const char *index_file, const char *name, ...)
        } while (argv[i]);
        va_end(args);
 
-       if (access(argv[0], X_OK) < 0)
-               return 0;
-
        memset(&hook, 0, sizeof(hook));
        hook.argv = argv;
        hook.no_stdin = 1;