From: Dean Prichard Date: Tue, 9 Mar 2010 01:00:14 +0000 (-0800) Subject: gc: avoid fixed length buffer cleanbuf X-Git-Tag: weekly.2010-03-15~33 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f015c53ada70323a3159140e562f45eab6e2707d;p=gostls13.git gc: avoid fixed length buffer cleanbuf R=rsc CC=golang-dev https://golang.org/cl/302042 --- diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index ccde1c4dac..c3a430665b 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -290,7 +290,7 @@ importfile(Val *f, int line) int32 c; int len; Strlit *path; - char cleanbuf[1024]; + char *cleanbuf; // TODO(rsc): don't bother reloading imports more than once? @@ -310,7 +310,8 @@ importfile(Val *f, int line) path = f->u.sval; if(islocalname(path)) { - snprint(cleanbuf, sizeof cleanbuf, "%s/%s", pathname, path->s); + cleanbuf = mal(strlen(pathname) + strlen(path->s) + 2); + sprint(cleanbuf, "%s/%s", pathname, path->s); cleanname(cleanbuf); path = strlit(cleanbuf); }