diff options
Diffstat (limited to 'remote-curl.c')
-rw-r--r-- | remote-curl.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/remote-curl.c b/remote-curl.c index bcbc7fba4e..d159fe7f34 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -807,7 +807,7 @@ static int push(int nr_spec, char **specs) static void parse_push(struct strbuf *buf) { char **specs = NULL; - int alloc_spec = 0, nr_spec = 0, i; + int alloc_spec = 0, nr_spec = 0, i, ret; do { if (!prefixcmp(buf->buf, "push ")) { @@ -824,12 +824,13 @@ static void parse_push(struct strbuf *buf) break; } while (1); - if (push(nr_spec, specs)) - exit(128); /* error already reported */ - + ret = push(nr_spec, specs); printf("\n"); fflush(stdout); + if (ret) + exit(128); /* error already reported */ + free_specs: for (i = 0; i < nr_spec; i++) free(specs[i]); |