summaryrefslogtreecommitdiff
path: root/receive-pack.c
diff options
context:
space:
mode:
Diffstat (limited to 'receive-pack.c')
-rw-r--r--receive-pack.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/receive-pack.c b/receive-pack.c
index d39aebac1e..e32e301d47 100644
--- a/receive-pack.c
+++ b/receive-pack.c
@@ -175,14 +175,14 @@ static void run_update_post_hook(struct command *cmd)
int argc;
const char **argv;
- if (access(update_post_hook, X_OK) < 0)
- return;
- for (argc = 1, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {
+ for (argc = 0, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {
if (cmd_p->error_string)
continue;
argc++;
}
- argv = xmalloc(sizeof(*argv) * (1 + argc));
+ if (!argc || access(update_post_hook, X_OK) < 0)
+ return;
+ argv = xmalloc(sizeof(*argv) * (2 + argc));
argv[0] = update_post_hook;
for (argc = 1, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {