From 214153756107199cc9141812af3c7dca22440dc2 Mon Sep 17 00:00:00 2001 From: Johannes Lauinger Date: Wed, 3 Jun 2020 15:45:44 +0200 Subject: [PATCH] update util_unsafe.go to use simpler, yet still safe, cast --- util/util_unsafe.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/util/util_unsafe.go b/util/util_unsafe.go index e604c75..d098811 100644 --- a/util/util_unsafe.go +++ b/util/util_unsafe.go @@ -4,7 +4,6 @@ package util import ( "reflect" - "runtime" "unsafe" ) @@ -14,13 +13,11 @@ func BytesToReadOnlyString(b []byte) string { } // StringToReadOnlyBytes returns bytes converted from given string. -func StringToReadOnlyBytes(s string) []byte { - b := make([]byte, 0) +func StringToReadOnlyBytes(s string) (bs []byte) { sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) - bh := (*reflect.SliceHeader)(unsafe.Pointer(&b)) + bh := (*reflect.SliceHeader)(unsafe.Pointer(&bs)) bh.Data = sh.Data bh.Cap = sh.Len bh.Len = sh.Len - runtime.KeepAlive(s) - return b + return }