From: Lorenzo Stoakes Date: Mon, 9 Jan 2012 16:48:53 +0000 (-0500) Subject: gc: put limit on size of exported recursive interface X-Git-Tag: weekly.2012-01-15~125 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=aa63a928ea6b2fb6b2edb10fd8d98c98f20d5274;p=gostls13.git gc: put limit on size of exported recursive interface Prevents edge-case recursive types from consuming excessive memory. Fixes #1909. R=golang-dev, lvd, rsc CC=golang-dev https://golang.org/cl/5504108 --- diff --git a/src/cmd/gc/fmt.c b/src/cmd/gc/fmt.c index f3be53c8fb..3013d0d329 100644 --- a/src/cmd/gc/fmt.c +++ b/src/cmd/gc/fmt.c @@ -1450,7 +1450,7 @@ Tconv(Fmt *fp) if(t == T) return fmtstrcpy(fp, ""); - if(t->trecur > 4) + if(t->trecur > 4 || fp->nfmt > 1000) return fmtstrcpy(fp, "<...>"); t->trecur++;