diff options
author | Timo Sirainen <cras@irssi.org> | 2000-10-26 18:57:23 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-10-26 18:57:23 +0000 |
commit | e0bc134d66fcb1c0a901e82973701e652c2b5cd0 (patch) | |
tree | 6dc20d6c8400b349b41aa2a52a015782103d95a9 /src/lib-popt/poptparse.c | |
parent | df10f182c019e7cda96793de193e30e66ab2abfc (diff) | |
download | irssi-e0bc134d66fcb1c0a901e82973701e652c2b5cd0.zip |
Win32 updates
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@784 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/lib-popt/poptparse.c')
-rw-r--r-- | src/lib-popt/poptparse.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib-popt/poptparse.c b/src/lib-popt/poptparse.c index 181ec1ac..6e412834 100644 --- a/src/lib-popt/poptparse.c +++ b/src/lib-popt/poptparse.c @@ -29,7 +29,7 @@ int poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr) { int i, buflen; buflen = strlen(s) + 1; - bufStart = buf = alloca(buflen); + bufStart = buf = malloc(buflen); memset(buf, '\0', buflen); src = s; @@ -43,6 +43,7 @@ int poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr) { src++; if (!*src) { free(argv); + free(bufStart); return POPT_ERROR_BADQUOTE; } if (*src != quote) *buf++ = '\\'; @@ -66,6 +67,7 @@ int poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr) { src++; if (!*src) { free(argv); + free(bufStart); return POPT_ERROR_BADQUOTE; } /* fallthrough */ @@ -95,5 +97,6 @@ int poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr) { *argvPtr = argv2; *argcPtr = argc; + free(bufStart); return 0; } |