mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
rtmp: Don't try to do av_malloc(0)
Some received packets can have size 0. The return value from av_malloc(0) may be NULL, which is ok if the size was 0. On OS X, however, the returned pointer is non-null but leads to crashes when trying to free it. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
67540af7ba
commit
271c869cc3
@ -233,9 +233,11 @@ int ff_rtmp_packet_write(URLContext *h, RTMPPacket *pkt,
|
||||
int ff_rtmp_packet_create(RTMPPacket *pkt, int channel_id, RTMPPacketType type,
|
||||
int timestamp, int size)
|
||||
{
|
||||
if (size) {
|
||||
pkt->data = av_malloc(size);
|
||||
if (!pkt->data)
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
pkt->data_size = size;
|
||||
pkt->channel_id = channel_id;
|
||||
pkt->type = type;
|
||||
|
@ -683,7 +683,7 @@ static int get_packet(URLContext *s, int for_header)
|
||||
return AVERROR_EOF;
|
||||
|
||||
for (;;) {
|
||||
RTMPPacket rpkt;
|
||||
RTMPPacket rpkt = { 0 };
|
||||
if ((ret = ff_rtmp_packet_read(rt->stream, &rpkt,
|
||||
rt->chunk_size, rt->prev_pkt[0])) <= 0) {
|
||||
if (ret == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user