summaryrefslogtreecommitdiff
path: root/Src/Modules
diff options
context:
space:
mode:
authorJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2018-07-31 22:15:58 +0900
committerJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2018-07-31 22:15:58 +0900
commitbaedd62f0d601bf03d99b2366a8ace42268e88ed (patch)
tree82add95fcfcf764c535b2b3ee126eb012ba5b648 /Src/Modules
parente6f2d776d3ce582533fc6177082270872fcf67a3 (diff)
downloadzsh-baedd62f0d601bf03d99b2366a8ace42268e88ed.tar.gz
zsh-baedd62f0d601bf03d99b2366a8ace42268e88ed.zip
43219 (except term{cap,info}.c): fix several memory leaks
Diffstat (limited to 'Src/Modules')
-rw-r--r--Src/Modules/db_gdbm.c5
-rw-r--r--Src/Modules/pcre.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/Src/Modules/db_gdbm.c b/Src/Modules/db_gdbm.c
index 5f776f407..ed702b912 100644
--- a/Src/Modules/db_gdbm.c
+++ b/Src/Modules/db_gdbm.c
@@ -359,7 +359,7 @@ gdbmsetfn(Param pm, char *val)
}
if (val) {
- pm->u.str = ztrdup(val);
+ pm->u.str = val;
pm->node.flags |= PM_UPTODATE;
}
@@ -732,6 +732,9 @@ static int remove_tied_name( const char *name ) {
p++;
}
+ if (*p)
+ zsfree(*p);
+
/* Copy x+1 to x */
while (*p) {
*p=*(p+1);
diff --git a/Src/Modules/pcre.c b/Src/Modules/pcre.c
index 15ee34bc8..6289e003e 100644
--- a/Src/Modules/pcre.c
+++ b/Src/Modules/pcre.c
@@ -380,6 +380,7 @@ bin_pcre_match(char *nam, char **args, Options ops, UNUSED(int func))
if (ovec)
zfree(ovec, ovecsize*sizeof(int));
+ zsfree(plaintext);
return return_value;
}