From: Josh Bleecher Snyder Date: Fri, 28 Apr 2017 14:23:26 +0000 (-0700) Subject: cmd/compile: prevent infinite recursion printing types in Fatalf X-Git-Tag: go1.9beta1~412 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=85d6a29ae60fa914a5fb12d061422a63694aa9be;p=gostls13.git cmd/compile: prevent infinite recursion printing types in Fatalf Updates #20162 Change-Id: Ie289bae0d0be8430e492ac73fd6e6bf36991d4a1 Reviewed-on: https://go-review.googlesource.com/42130 Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/compile/internal/gc/align.go b/src/cmd/compile/internal/gc/align.go index a270adf653..6f7e67ca93 100644 --- a/src/cmd/compile/internal/gc/align.go +++ b/src/cmd/compile/internal/gc/align.go @@ -183,6 +183,11 @@ func dowidth(t *types.Type) { } if sizeCalculationDisabled { + if t.Broke() { + // break infinite recursion from Fatal call below + return + } + t.SetBroke(true) Fatalf("width not calculated: %v", t) }