From e546ef123e6e3a28dc7722fb6bbf1161b7024163 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 7 Dec 2018 07:25:50 -0800 Subject: [PATCH] cmd/internal/obj/s390x: don't crash on invalid instruction I didn't bother with a test as there doesn't seem to be an existing framework for testing assembler failures, and tests for invalid code aren't all that interesting. Fixes #26700 Change-Id: I719410d83527802a09b9d38625954fdb36a3c0f7 Reviewed-on: https://go-review.googlesource.com/c/153177 Run-TryBot: Ian Lance Taylor Reviewed-by: Michael Munday TryBot-Result: Gobot Gobot --- src/cmd/internal/obj/s390x/asmz.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cmd/internal/obj/s390x/asmz.go b/src/cmd/internal/obj/s390x/asmz.go index 4e43d27790..7d49103be6 100644 --- a/src/cmd/internal/obj/s390x/asmz.go +++ b/src/cmd/internal/obj/s390x/asmz.go @@ -2618,6 +2618,10 @@ func (c *ctxtz) branchMask(p *obj.Prog) uint32 { func (c *ctxtz) asmout(p *obj.Prog, asm *[]byte) { o := c.oplook(p) + if o == nil { + return + } + switch o.type_ { default: c.ctxt.Diag("unknown type %d", o.type_) -- 2.50.0