diff options
author | cinap_lenrek <cinap_lenrek@rei2.9hal> | 2012-01-28 20:29:55 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@rei2.9hal> | 2012-01-28 20:29:55 +0100 |
commit | 21cedbedb24c2af04ac3b141ff6ce112c5d6e582 (patch) | |
tree | dec3c014b03e3b24760f68380ef5c2ed580ceaa1 /sys | |
parent | 1c521567a170e1e416f147de501d53414e71fb05 (diff) |
rio: fix memory leak for w->dir
Diffstat (limited to 'sys')
-rw-r--r-- | sys/src/cmd/rio/rio.c | 4 | ||||
-rw-r--r-- | sys/src/cmd/rio/util.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/cmd/rio/rio.c b/sys/src/cmd/rio/rio.c index 784b1d7f2..891504737 100644 --- a/sys/src/cmd/rio/rio.c +++ b/sys/src/cmd/rio/rio.c @@ -1190,8 +1190,10 @@ new(Image *i, int hideit, int scrollit, int pid, char *dir, char *cmd, char **ar } wsetpid(w, pid, 1); wsetname(w); - if(dir) + if(dir){ + free(w->dir); w->dir = estrdup(dir); + } chanfree(cpid); return w; } diff --git a/sys/src/cmd/rio/util.c b/sys/src/cmd/rio/util.c index 8a35d1d75..6d19eb5ae 100644 --- a/sys/src/cmd/rio/util.c +++ b/sys/src/cmd/rio/util.c @@ -81,6 +81,7 @@ estrdup(char *s) p = malloc(strlen(s)+1); if(p == nil) error("strdup failed"); + setmalloctag(p, getcallerpc(&s)); strcpy(p, s); return p; } |