* src/emacs.c(make_docfile): free newargv after the return of
execv (which will be never if successful, but, if execv fails no
memory will be leaked.)
size_t edlen = XSTRING_LENGTH(Vexec_directory);
char mdocfile[edlen+countof(make_docfile_prog)];
char **newargv = xnew_array_and_zero(char*, c), **p;
+ int ret = -1;
/* set up the program call */
xstrncpy(mdocfile,
for (char **o = p, **n = &newargv[1]; *o;) {
*n++ = *o++;
}
- return execv(mdocfile, newargv);
+ ret = execv(mdocfile, newargv);
+ xfree(newargv);
+ return ret;
}
static inline void*