1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

refine autofree, only free object, never free arrays

This commit is contained in:
winlin 2014-05-14 09:41:41 +08:00
parent 300f264e92
commit dc66c525fd
17 changed files with 160 additions and 155 deletions

View file

@ -813,7 +813,7 @@ namespace srs
}
srs_assert(digest != NULL);
SrsAutoFree(char, digest, true);
SrsAutoFree(char, digest);
if (schema == srs_schema0) {
memcpy(block1.digest.digest, digest, 32);
@ -837,7 +837,7 @@ namespace srs
}
srs_assert(c1_digest != NULL);
SrsAutoFree(char, c1_digest, true);
SrsAutoFree(char, c1_digest);
if (schema == srs_schema0) {
is_valid = srs_bytes_equals(block1.digest.digest, c1_digest, 32);
@ -861,7 +861,7 @@ namespace srs
}
srs_assert(s1_digest != NULL);
SrsAutoFree(char, s1_digest, true);
SrsAutoFree(char, s1_digest);
if (schema == srs_schema0) {
is_valid = srs_bytes_equals(block1.digest.digest, s1_digest, 32);
@ -917,7 +917,7 @@ namespace srs
srs_verbose("calc s1 digest success.");
srs_assert(s1_digest != NULL);
SrsAutoFree(char, s1_digest, true);
SrsAutoFree(char, s1_digest);
if (schema == srs_schema0) {
memcpy(block1.digest.digest, s1_digest, 32);
@ -944,7 +944,7 @@ namespace srs
}
srs_assert(c1s1_joined_bytes != NULL);
SrsAutoFree(char, c1s1_joined_bytes, true);
SrsAutoFree(char, c1s1_joined_bytes);
digest = new char[OpensslHashSize];
if ((ret = openssl_HMACsha256(c1s1_joined_bytes, 1536 - 32, SrsGenuineFMSKey, 36, digest)) != ERROR_SUCCESS) {
@ -971,7 +971,7 @@ namespace srs
}
srs_assert(c1s1_joined_bytes != NULL);
SrsAutoFree(char, c1s1_joined_bytes, true);
SrsAutoFree(char, c1s1_joined_bytes);
digest = new char[OpensslHashSize];
if ((ret = openssl_HMACsha256(c1s1_joined_bytes, 1536 - 32, SrsGenuineFPKey, 30, digest)) != ERROR_SUCCESS) {

View file

@ -490,8 +490,8 @@ int SrsRtmpClient::connect_app(string app, string tc_url)
srs_error("expect connect app response message failed. ret=%d", ret);
return ret;
}
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsConnectAppResPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsConnectAppResPacket, pkt);
srs_info("get connect app response message");
return ret;
@ -517,8 +517,8 @@ int SrsRtmpClient::create_stream(int& stream_id)
srs_error("expect create stream response message failed. ret=%d", ret);
return ret;
}
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsCreateStreamResPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsCreateStreamResPacket, pkt);
srs_info("get create stream response message");
stream_id = (int)pkt->stream_id;
@ -651,8 +651,8 @@ int SrsRtmpClient::fmle_publish(string stream, int& stream_id)
srs_error("expect create stream response message failed. ret=%d", ret);
return ret;
}
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsCreateStreamResPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsCreateStreamResPacket, pkt);
srs_info("get create stream response message");
stream_id = (int)pkt->stream_id;
@ -772,8 +772,8 @@ int SrsRtmpServer::connect_app(SrsRequest* req)
srs_error("expect connect app message failed. ret=%d", ret);
return ret;
}
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsConnectAppPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsConnectAppPacket, pkt);
srs_info("get connect app message");
SrsAmf0Any* prop = NULL;
@ -922,7 +922,7 @@ int SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType& type, string&
return ret;
}
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsMessage, msg);
if (!msg->header.is_amf0_command() && !msg->header.is_amf3_command()) {
srs_trace("identify ignore messages except "
@ -936,7 +936,7 @@ int SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType& type, string&
return ret;
}
SrsAutoFree(SrsPacket, pkt, false);
SrsAutoFree(SrsPacket, pkt);
if (dynamic_cast<SrsCreateStreamPacket*>(pkt)) {
srs_info("identify client by create stream, play or flash publish.");
@ -1128,8 +1128,8 @@ int SrsRtmpServer::start_fmle_publish(int stream_id)
}
srs_info("recv FCPublish request message success.");
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsFMLEStartPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsFMLEStartPacket, pkt);
fc_publish_tid = pkt->transaction_id;
}
@ -1154,8 +1154,8 @@ int SrsRtmpServer::start_fmle_publish(int stream_id)
}
srs_info("recv createStream request message success.");
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsCreateStreamPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsCreateStreamPacket, pkt);
create_stream_tid = pkt->transaction_id;
}
@ -1179,8 +1179,8 @@ int SrsRtmpServer::start_fmle_publish(int stream_id)
}
srs_info("recv publish request message success.");
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsPublishPacket, pkt, false);
SrsAutoFree(SrsMessage, msg);
SrsAutoFree(SrsPublishPacket, pkt);
}
// publish response onFCPublish(NetStream.Publish.Start)
if (true) {
@ -1310,7 +1310,7 @@ int SrsRtmpServer::identify_create_stream_client(SrsCreateStreamPacket* req, int
return ret;
}
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsMessage, msg);
if (!msg->header.is_amf0_command() && !msg->header.is_amf3_command()) {
srs_trace("identify ignore messages except "
@ -1324,7 +1324,7 @@ int SrsRtmpServer::identify_create_stream_client(SrsCreateStreamPacket* req, int
return ret;
}
SrsAutoFree(SrsPacket, pkt, false);
SrsAutoFree(SrsPacket, pkt);
if (dynamic_cast<SrsPlayPacket*>(pkt)) {
srs_info("level1 identify client by play.");

View file

@ -442,7 +442,7 @@ int SrsProtocol::do_send_and_free_message(SrsMessage* msg, SrsPacket* packet)
// always free msg.
srs_assert(msg);
SrsAutoFree(SrsMessage, msg, false);
SrsAutoFree(SrsMessage, msg);
// we donot use the complex basic header,
// ensure the basic header is 1bytes.
@ -735,7 +735,7 @@ int SrsProtocol::send_and_free_packet(SrsPacket* packet, int stream_id)
int ret = ERROR_SUCCESS;
srs_assert(packet);
SrsAutoFree(SrsPacket, packet, false);
SrsAutoFree(SrsPacket, packet);
int size = 0;
char* payload = NULL;
@ -1274,7 +1274,7 @@ int SrsProtocol::on_recv_message(SrsMessage* msg)
srs_assert(packet);
// always free the packet.
SrsAutoFree(SrsPacket, packet, false);
SrsAutoFree(SrsPacket, packet);
switch (msg->header.message_type) {
case RTMP_MSG_WindowAcknowledgementSize: {
@ -2584,7 +2584,7 @@ int SrsPlayPacket::decode(SrsStream* stream)
srs_error("amf0 read play reset marker failed. ret=%d", ret);
return ret;
}
SrsAutoFree(SrsAmf0Any, reset_value, false);
SrsAutoFree(SrsAmf0Any, reset_value);
if (reset_value) {
// check if the value is bool or number
@ -3160,7 +3160,7 @@ int SrsOnMetaDataPacket::decode(SrsStream* stream)
return ret;
}
SrsAutoFree(SrsAmf0Any, any, false);
SrsAutoFree(SrsAmf0Any, any);
if (any->is_ecma_array()) {
SrsAmf0EcmaArray* arr = any->to_ecma_array();