summaryrefslogtreecommitdiff
path: root/popt
diff options
context:
space:
mode:
authorewt <devnull@localhost>1999-09-04 19:37:00 +0000
committerewt <devnull@localhost>1999-09-04 19:37:00 +0000
commitdacd97b455d7351b5680f7259b6791b4f3942990 (patch)
tree661bed07be90d091cce5d0c2a6ed5a36be91d9db /popt
parentaeeaed68f9714080bb3a6e60e3c6125e37b3b4bc (diff)
downloadrpm-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.c5
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++) {