author | Junio C Hamano <gitster@pobox.com> | |
Tue, 26 May 2009 02:03:20 +0000 (19:03 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 26 May 2009 02:03:20 +0000 (19:03 -0700) |
* jk/maint-1.6.0-trace-argv:
fix GIT_TRACE segfault with shell-quoted aliases
Conflicts:
alias.c
fix GIT_TRACE segfault with shell-quoted aliases
Conflicts:
alias.c
1 | 2 | |||
---|---|---|---|---|
alias.c | patch | | diff1 | | diff2 | | blob | history |
diff --combined alias.c
index e687fe54c1ce2a435e8f0d7806db231c06f998eb,4f4d0141cdca47cc2fd5062624e3a7b643d0793c..372b7d809301f9e3e936459e405cd6f2627bd4a9
+++ b/alias.c
int src, dst, count = 0, size = 16;
char quoted = 0;
- *argv = xmalloc(sizeof(char*) * size);
+ *argv = xmalloc(sizeof(char *) * size);
/* split alias_string */
(*argv)[count++] = cmdline;
while (cmdline[++src]
&& isspace(cmdline[src]))
; /* skip */
- if (count >= size) {
- size += 16;
- *argv = xrealloc(*argv, sizeof(char *) * size);
- }
+ ALLOC_GROW(*argv, count+1, size);
(*argv)[count++] = cmdline + dst;
} else if (!quoted && (c == '\'' || c == '"')) {
quoted = c;
return error("unclosed quote");
}
+ ALLOC_GROW(*argv, count+1, size);
+ (*argv)[count] = NULL;
+
return count;
}