diff --git a/lib/bytesutil/bytesutil.go b/lib/bytesutil/bytesutil.go index 4ceffab144..cee2e72574 100644 --- a/lib/bytesutil/bytesutil.go +++ b/lib/bytesutil/bytesutil.go @@ -2,6 +2,7 @@ package bytesutil import ( "reflect" + "runtime" "unsafe" ) @@ -29,5 +30,7 @@ func ToUnsafeBytes(s string) []byte { slh.Data = sh.Data slh.Len = sh.Len slh.Cap = sh.Len - return *(*[]byte)(unsafe.Pointer(&slh)) + b := *(*[]byte)(unsafe.Pointer(&slh)) + runtime.KeepAlive(s) + return b }