Merge branch 'jk/maint-1.6.0-trace-argv'
authorJunio C Hamano <gitster@pobox.com>
Sat, 23 May 2009 08:39:08 +0000 (01:39 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 23 May 2009 08:39:08 +0000 (01:39 -0700)
* jk/maint-1.6.0-trace-argv:
  fix GIT_TRACE segfault with shell-quoted aliases

Conflicts:
alias.c

1  2 
alias.c

diff --combined alias.c
index e687fe54c1ce2a435e8f0d7806db231c06f998eb,4f4d0141cdca47cc2fd5062624e3a7b643d0793c..372b7d809301f9e3e936459e405cd6f2627bd4a9
+++ b/alias.c
@@@ -27,7 -27,7 +27,7 @@@ int split_cmdline(char *cmdline, const 
        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;
@@@ -72,6 -69,9 +69,9 @@@
                return error("unclosed quote");
        }
  
+       ALLOC_GROW(*argv, count+1, size);
+       (*argv)[count] = NULL;
        return count;
  }