From 83b56186e46087b06b2af8d58ff293eda6be6bad Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 29 Jan 2012 03:48:24 +0100 Subject: plumber: fix memory leaks --- sys/src/cmd/plumb/plumber.c | 3 +++ sys/src/cmd/plumb/rules.c | 2 ++ 2 files changed, 5 insertions(+) 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 */ -- cgit v1.2.3