fix(socket): 修复服务器事件处理中的数据引用问题 解决切片共享底层数据导致的潜在内存安全问题,通过深拷贝确保数据独立性, 避免并发访问时的数据竞争风险。 ```
This commit is contained in:
@@ -279,7 +279,8 @@ func (s *Server) onevent(c gnet.Conn, v []byte) {
|
||||
// 解析数据部分(17字节之后)
|
||||
// 数据部分:直接引用切片,避免 make
|
||||
if len(v) > 17 {
|
||||
header.Data = v[17:]
|
||||
header.Data = make([]byte, len(v[17:]))
|
||||
copy(header.Data, v[17:]) // 核心修改:拷贝数据
|
||||
} else {
|
||||
header.Data = nil // 避免空切片分配
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user