From c8c58f8cfd49874bf6144fa2f7478ab7c43571c5 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 17 Aug 2011 17:48:43 +0200 Subject: sam: fix memory leak --- sys/src/cmd/sam/error.c | 2 +- sys/src/cmd/sam/plan9.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/src/cmd/sam/error.c b/sys/src/cmd/sam/error.c index b5e4500d2..ed5ba2d6f 100644 --- a/sys/src/cmd/sam/error.c +++ b/sys/src/cmd/sam/error.c @@ -138,7 +138,7 @@ termwrite(char *s) else Strinsert(&cmdstr, p, cmdstr.n); cmdptadv += p->n; - free(p); + freetmpstr(p); }else Write(2, s, strlen(s)); } diff --git a/sys/src/cmd/sam/plan9.c b/sys/src/cmd/sam/plan9.c index a98aed34c..49e272272 100644 --- a/sys/src/cmd/sam/plan9.c +++ b/sys/src/cmd/sam/plan9.c @@ -136,10 +136,10 @@ emalloc(ulong n) { void *p; - p = malloc(n); + p = mallocz(n, 1); if(p == 0) panic("malloc fails"); - memset(p, 0, n); + setmalloctag(p, getcallerpc(&n)); return p; } @@ -149,5 +149,6 @@ erealloc(void *p, ulong n) p = realloc(p, n); if(p == 0) panic("realloc fails"); + setmalloctag(p, getcallerpc(&p)); return p; } -- cgit v1.2.3