fix mem leak in recv message error, always free msg

pull/133/head
winlin 11 years ago
parent 52d1fa8df5
commit 5b98a27256

@ -454,7 +454,6 @@ int SrsRtmpClient::connect_app(string app, string tc_url)
if (true) {
SrsConnectAppPacket* pkt = new SrsConnectAppPacket();
pkt->command_object = SrsAmf0Any::object();
pkt->command_object->set("app", SrsAmf0Any::str(app.c_str()));
pkt->command_object->set("swfUrl", SrsAmf0Any::str());
pkt->command_object->set("tcUrl", SrsAmf0Any::str(tc_url.c_str()));

@ -382,6 +382,7 @@ int SrsProtocol::recv_message(SrsMessage** pmsg)
if (ret != ERROR_SOCKET_TIMEOUT && !srs_is_client_gracefully_close(ret)) {
srs_error("recv interlaced message failed. ret=%d", ret);
}
srs_freep(msg);
return ret;
}
srs_verbose("entire msg received");

@ -477,6 +477,10 @@ protected:
public:
std::string command_name;
double transaction_id;
/**
* alloc in packet constructor,
* so, directly use it, never alloc again.
*/
SrsAmf0Object* command_object;
public:
SrsConnectAppPacket();

Loading…
Cancel
Save