From: Dave Cheney Date: Wed, 20 Mar 2013 12:42:00 +0000 (+1100) Subject: cmd/6c, cmd/8c: fix stack allocated Biobuf leaking at exit X-Git-Tag: go1.1rc2~429 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f701e1c32043116448e7227ee598b21e00ce42c7;p=gostls13.git cmd/6c, cmd/8c: fix stack allocated Biobuf leaking at exit Fixes #5085. {6,8}c/swt.c allocates a third Biobuf in automatic memory which is not terminated at the end of the function. This causes the buffer to be 'in use' when the batexit handler fires, confusing valgrind. Huge thanks to DMorsing for the diagnosis. R=golang-dev, daniel.morsing, rsc CC=golang-dev https://golang.org/cl/7844044 --- diff --git a/src/cmd/6c/swt.c b/src/cmd/6c/swt.c index 58d6d51291..541c7beaaa 100644 --- a/src/cmd/6c/swt.c +++ b/src/cmd/6c/swt.c @@ -320,7 +320,7 @@ outcode(void) zaddr(&b, &p->from, sf); zaddr(&b, &p->to, st); } - Bflush(&b); + Bterm(&b); close(f); firstp = P; lastp = P; diff --git a/src/cmd/8c/swt.c b/src/cmd/8c/swt.c index d331eee1ae..1b8ceb0c69 100644 --- a/src/cmd/8c/swt.c +++ b/src/cmd/8c/swt.c @@ -324,7 +324,7 @@ outcode(void) zaddr(&b, &p->from, sf); zaddr(&b, &p->to, st); } - Bflush(&b); + Bterm(&b); close(f); firstp = P; lastp = P;