ref: 83b56186e46087b06b2af8d58ff293eda6be6bad
parent: 105ebc327abe965cf11242e6c300d28979938f5e
author: cinap_lenrek <cinap_lenrek@rei2>
date: Sat Jan 28 22:48:24 EST 2012
plumber: fix memory leaks
--- a/sys/src/cmd/plumb/plumber.c
+++ b/sys/src/cmd/plumb/plumber.c
@@ -122,6 +122,7 @@
p = malloc(n);
if(p == nil)
error("malloc failed: %r");
+ setmalloctag(p, getcallerpc(&n));
memset(p, 0, n);
return p;
}
@@ -132,6 +133,7 @@
p = realloc(p, n);
if(p == nil)
error("realloc failed: %r");
+ setrealloctag(p, getcallerpc(&p));
return p;
}
@@ -143,5 +145,6 @@
t = strdup(s);
if(t == nil)
error("estrdup failed: %r");
+ setmalloctag(t, getcallerpc(&s));
return t;
}
--- a/sys/src/cmd/plumb/rules.c
+++ b/sys/src/cmd/plumb/rules.c
@@ -123,6 +123,7 @@
Bterm(in->fd);
free(in->fd);
}
+ free(in->file);
free(in);
return 1;
}
@@ -572,6 +573,7 @@
parseerror("too many ports");
if(lookup(r->qarg, badports) >= 0)
parseerror("illegal port name %s", r->qarg);
+ free(rs->port);
rs->port = estrdup(r->qarg);
}else
ncmd++; /* start or client rule */
--
⑨