summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@rei2.9hal>2012-01-28 20:29:55 +0100
committercinap_lenrek <cinap_lenrek@rei2.9hal>2012-01-28 20:29:55 +0100
commit21cedbedb24c2af04ac3b141ff6ce112c5d6e582 (patch)
treedec3c014b03e3b24760f68380ef5c2ed580ceaa1 /sys
parent1c521567a170e1e416f147de501d53414e71fb05 (diff)
rio: fix memory leak for w->dir
Diffstat (limited to 'sys')
-rw-r--r--sys/src/cmd/rio/rio.c4
-rw-r--r--sys/src/cmd/rio/util.c1
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;
}