From 21cedbedb24c2af04ac3b141ff6ce112c5d6e582 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 28 Jan 2012 20:29:55 +0100 Subject: rio: fix memory leak for w->dir --- sys/src/cmd/rio/rio.c | 4 +++- sys/src/cmd/rio/util.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) 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; } -- cgit v1.2.3