summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}