1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-24 17:00:32 +02:00

17516, 17517: Attempted fixes for memory leaks shown by valgrind.

First with zstyle patterns, second with pwd in job structure.
This commit is contained in:
Peter Stephenson 2002-08-08 10:43:50 +00:00
parent cea681c928
commit f60279ae24
3 changed files with 19 additions and 1 deletions

View file

@ -119,7 +119,10 @@ setstypat(Style s, char *pat, Patprog prog, char **vals, int eval)
errflag = ef;
if (!eprog)
{
freepatprog(prog);
return 1;
}
eprog = dupeprog(eprog, 0);
}
@ -134,6 +137,7 @@ setstypat(Style s, char *pat, Patprog prog, char **vals, int eval)
freeeprog(p->eval);
p->vals = zarrdup(vals);
p->eval = eprog;
freepatprog(prog);
return 0;
}

View file

@ -979,6 +979,10 @@ clearjobtab(int monitor)
zfree(jobtab[i].ty, sizeof(struct ttyinfo));
jobtab[i].ty = NULL;
}
if (jobtab[i].pwd) {
zsfree(jobtab[i].pwd);
jobtab[i].pwd = NULL;
}
if (monitor) {
/*
* See if there is a jobtable worth saving.
@ -1011,8 +1015,10 @@ initjob(void)
for (i = 1; i < MAXJOB; i++)
if (!jobtab[i].stat) {
jobtab[i].stat = STAT_INUSE;
if (jobtab[i].pwd)
if (jobtab[i].pwd) {
zsfree(jobtab[i].pwd);
jobtab[i].pwd = NULL;
}
jobtab[i].gleader = 0;
return i;
}