summaryrefslogtreecommitdiff
path: root/sys/src/cmd/plumb
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@rei2>2012-01-29 03:48:24 +0100
committercinap_lenrek <cinap_lenrek@rei2>2012-01-29 03:48:24 +0100
commit83b56186e46087b06b2af8d58ff293eda6be6bad (patch)
treeda99acae3014d96918494cf849dbd58e5ca351a7 /sys/src/cmd/plumb
parent105ebc327abe965cf11242e6c300d28979938f5e (diff)
plumber: fix memory leaks
Diffstat (limited to 'sys/src/cmd/plumb')
-rw-r--r--sys/src/cmd/plumb/plumber.c3
-rw-r--r--sys/src/cmd/plumb/rules.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/sys/src/cmd/plumb/plumber.c b/sys/src/cmd/plumb/plumber.c
index d0bd9c14e..e6c18079a 100644
--- a/sys/src/cmd/plumb/plumber.c
+++ b/sys/src/cmd/plumb/plumber.c
@@ -122,6 +122,7 @@ emalloc(long n)
p = malloc(n);
if(p == nil)
error("malloc failed: %r");
+ setmalloctag(p, getcallerpc(&n));
memset(p, 0, n);
return p;
}
@@ -132,6 +133,7 @@ erealloc(void *p, long n)
p = realloc(p, n);
if(p == nil)
error("realloc failed: %r");
+ setrealloctag(p, getcallerpc(&p));
return p;
}
@@ -143,5 +145,6 @@ estrdup(char *s)
t = strdup(s);
if(t == nil)
error("estrdup failed: %r");
+ setmalloctag(t, getcallerpc(&s));
return t;
}
diff --git a/sys/src/cmd/plumb/rules.c b/sys/src/cmd/plumb/rules.c
index 262f6d67f..806ba39b1 100644
--- a/sys/src/cmd/plumb/rules.c
+++ b/sys/src/cmd/plumb/rules.c
@@ -123,6 +123,7 @@ popinput(void)
Bterm(in->fd);
free(in->fd);
}
+ free(in->file);
free(in);
return 1;
}
@@ -572,6 +573,7 @@ readruleset(void)
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 */