From 6a52e861c7b2028d0a9feac29d59a0d8f120ec44 Mon Sep 17 00:00:00 2001 From: ewt Date: Thu, 30 Jan 1997 20:04:11 +0000 Subject: [PATCH] NULL terminate result of poptGetArgs() CVS patchset: 1388 CVS date: 1997/01/30 20:04:11 --- popt/popt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/popt/popt.c b/popt/popt.c index 930cc5e..281cd35 100644 --- a/popt/popt.c +++ b/popt/popt.c @@ -40,7 +40,7 @@ poptContext poptGetContext(char * name ,int argc, char ** argv, con->os->currAlias = NULL; con->os->next = 1; /* skip argv[0] */ - con->leftovers = malloc(sizeof(char *) * argc); + con->leftovers = malloc(sizeof(char *) * (argc + 1)); con->numLeftovers = 0; con->nextLeftover = 0; con->restLeftover = 0; @@ -214,6 +214,10 @@ char * poptPeekArg(poptContext con) { char ** poptGetArgs(poptContext con) { if (con->numLeftovers == con->nextLeftover) return NULL; + + /* some apps like [like RPM ;-) ] need this NULL terminated */ + con->leftovers[con->numLeftovers] = NULL; + return (con->leftovers + con->nextLeftover); } -- 2.7.4