From 181cf3c95ec99a44babb0e64c8f66956d2ac3a78 Mon Sep 17 00:00:00 2001 From: pgxiaolianzi Date: Fri, 7 Feb 2025 08:37:50 +0000 Subject: text/template: handle UnsafePointer in isTrue Change-Id: I4d0b5919d109f768ba04ab519e8f948a5749a752 GitHub-Last-Rev: 6f27f1193c21bb10e3b81660b4271f2c1f33be1e GitHub-Pull-Request: golang/go#70520 Reviewed-on: https://go-review.googlesource.com/c/go/+/631076 Run-TryBot: Rob Pike Auto-Submit: Ian Lance Taylor Reviewed-by: Rob Pike Reviewed-by: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov LUCI-TryBot-Result: Go LUCI TryBot-Result: Gopher Robot --- src/text/template/exec.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/text/template/exec.go') diff --git a/src/text/template/exec.go b/src/text/template/exec.go index ed6ae43671..7a67ec6824 100644 --- a/src/text/template/exec.go +++ b/src/text/template/exec.go @@ -333,7 +333,7 @@ func isTrue(val reflect.Value) (truth, ok bool) { truth = val.Bool() case reflect.Complex64, reflect.Complex128: truth = val.Complex() != 0 - case reflect.Chan, reflect.Func, reflect.Pointer, reflect.Interface: + case reflect.Chan, reflect.Func, reflect.Pointer, reflect.UnsafePointer, reflect.Interface: truth = !val.IsNil() case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: truth = val.Int() != 0 -- cgit v1.3