CVS patchset: 3400
CVS date: 1999/10/25 19:07:14
con->restLeftover = 0;
con->doExec = NULL;
- for (i = 0; i < con->finalArgvCount; i++)
- xfree(con->finalArgv[i]);
+ for (i = 0; i < con->finalArgvCount; i++) {
+ if (con->finalArgv[i]) {
+ xfree(con->finalArgv[i]);
+ con->finalArgv[i] = NULL;
+ }
+ }
con->finalArgvCount = 0;
}
return arg;
}
-static const char * expandNextArg(poptContext con, const char * s)
+static /*@only@*/ const char * expandNextArg(poptContext con, const char * s)
{
const char *a;
size_t alen;
struct optionStackEntry {
int argc;
- /*@keep@*/ const char ** argv;
+ /*@only@*/ const char ** argv;
/*@only@*/ pbm_set * argb;
int next;
- /*@keep@*/ const char * nextArg;
+ /*@only@*/ const char * nextArg;
/*@keep@*/ const char * nextCharArg;
/*@dependent@*/ struct poptAlias * currAlias;
int stuffed;
nb += strlen(argv[i]) + 1;
}
- argv2 = (void *) dst = malloc(nb);
+ dst = malloc(nb);
+ argv2 = (void *) dst;
dst += (argc + 1) * sizeof(*argv);
for (i = 0; i < argc; i++) {