diff options
author | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-08-17 17:48:43 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-08-17 17:48:43 +0200 |
commit | c8c58f8cfd49874bf6144fa2f7478ab7c43571c5 (patch) | |
tree | 34477c291dcd7f0f9fb4cf0565e61ab825bb6652 /sys/src/cmd/sam | |
parent | 982ee70f4597e22e3e35534397a4e4cef462362e (diff) |
sam: fix memory leak
Diffstat (limited to 'sys/src/cmd/sam')
-rw-r--r-- | sys/src/cmd/sam/error.c | 2 | ||||
-rw-r--r-- | 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; } |