diff --git a/skynet-src/skynet_socket.c b/skynet-src/skynet_socket.c index 573b9f0e..b617418a 100644 --- a/skynet-src/skynet_socket.c +++ b/skynet-src/skynet_socket.c @@ -61,6 +61,8 @@ forward_message(int type, bool padding, struct socket_message * result) { if (skynet_context_push((uint32_t)result->opaque, &message)) { // todo: report somewhere to close socket // don't call skynet_socket_close here (It will block mainloop) + if (sm->buffer) + skynet_free(sm->buffer); skynet_free(sm); } }