diff options
author | ewt <devnull@localhost> | 1999-09-04 19:37:00 +0000 |
---|---|---|
committer | ewt <devnull@localhost> | 1999-09-04 19:37:00 +0000 |
commit | dacd97b455d7351b5680f7259b6791b4f3942990 (patch) | |
tree | 661bed07be90d091cce5d0c2a6ed5a36be91d9db /popt | |
parent | aeeaed68f9714080bb3a6e60e3c6125e37b3b4bc (diff) | |
download | rpm-dacd97b455d7351b5680f7259b6791b4f3942990.tar.gz rpm-dacd97b455d7351b5680f7259b6791b4f3942990.tar.bz2 rpm-dacd97b455d7351b5680f7259b6791b4f3942990.zip |
null terminate parsed argument lists
CVS patchset: 3256
CVS date: 1999/09/04 19:37:00
Diffstat (limited to 'popt')
-rw-r--r-- | popt/poptparse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/popt/poptparse.c b/popt/poptparse.c index 92af27a0c..c64ce0f56 100644 --- a/popt/poptparse.c +++ b/popt/poptparse.c @@ -93,10 +93,11 @@ int poptParseArgvString(const char * s, int * argcPtr, char *** argvPtr) { argc++, buf++; } - dst = malloc(argc * sizeof(*argv) + (buf - bufStart)); + dst = malloc((argc + 1) * sizeof(*argv) + (buf - bufStart)); argv2 = (void *) dst; - dst += argc * sizeof(*argv); + dst += (argc + 1) * sizeof(*argv); memcpy(argv2, argv, argc * sizeof(*argv)); + argv2[argc] = NULL; memcpy(dst, bufStart, buf - bufStart); for (i = 0; i < argc; i++) { |