From 3bb358367eb54efee3f08af4b4c4c74247db5e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Thu, 2 Oct 2025 14:59:53 +0800 Subject: [PATCH] fix(pbuf): wrong pointer --- pbuf/pooler.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pbuf/pooler.go b/pbuf/pooler.go index 21b803b..3912fa4 100644 --- a/pbuf/pooler.go +++ b/pbuf/pooler.go @@ -4,6 +4,7 @@ import ( "bytes" "io" "reflect" + "unsafe" ) // UserBuffer with customizable user data structure inside. @@ -18,6 +19,7 @@ func (bufpooler[USRDAT]) New(config any, pooled UserBuffer[USRDAT]) UserBuffer[U switch c := config.(type) { case int: pooled.Grow(c) + *(*[]byte)(unsafe.Pointer(&pooled.Buffer)) = pooled.Bytes()[:c] if c != pooled.Len() { panic("unexpected bad buffer Grow") }