]> Cypherpunks repositories - gostls13.git/commitdiff
gc: avoid fixed length buffer cleanbuf
authorDean Prichard <dean.prichard@gmail.com>
Tue, 9 Mar 2010 01:00:14 +0000 (17:00 -0800)
committerRuss Cox <rsc@golang.org>
Tue, 9 Mar 2010 01:00:14 +0000 (17:00 -0800)
R=rsc
CC=golang-dev
https://golang.org/cl/302042

src/cmd/gc/lex.c

index ccde1c4dac9bc1b1d30f5fdd3c57946ed7f0a80b..c3a430665bbd612555cd6bfc51acd7d9e6297456 100644 (file)
@@ -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);
        }