From 94623c0cee5233db98cdc96212c0417553072261 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 26 Nov 2013 18:11:45 +0800 Subject: [PATCH] fix bug of shared ptr, must copy the payload for it free it. --- trunk/src/core/srs_core_protocol.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/trunk/src/core/srs_core_protocol.cpp b/trunk/src/core/srs_core_protocol.cpp index 63cc01617..751c453c3 100644 --- a/trunk/src/core/srs_core_protocol.cpp +++ b/trunk/src/core/srs_core_protocol.cpp @@ -1373,7 +1373,10 @@ int SrsSharedPtrMessage::initialize(ISrsMessage* msg, char* payload, int size) header.payload_length = size; ptr = new SrsSharedPtr(); - ptr->payload = payload; + + // should copy the payload once + ptr->payload = new char[size]; + memcpy(ptr->payload, payload, size); ptr->size = size; if (msg->header.is_video()) {