From 72540e514ceaaed8ecb97ed63637b2a2a4447ab8 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Thu, 3 Oct 2013 12:27:10 +0200 Subject: rtmpproto: Clear the flv allocation size on reallocp failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was overlooked in d872fb0f7 since I assumed all the realloc issues in the rtmp code was fixed already. Signed-off-by: Martin Storsjö --- libavformat/rtmpproto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libavformat/rtmpproto.c') diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 02fbcc420f..21d7ad80f6 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -2098,8 +2098,10 @@ static int append_flv_data(RTMPContext *rt, RTMPPacket *pkt, int skip) old_flv_size = update_offset(rt, size); - if ((ret = av_reallocp(&rt->flv_data, rt->flv_size)) < 0) + if ((ret = av_reallocp(&rt->flv_data, rt->flv_size)) < 0) { + rt->flv_size = rt->flv_off = 0; return ret; + } bytestream2_init_writer(&pbc, rt->flv_data, rt->flv_size); bytestream2_skip_p(&pbc, old_flv_size); bytestream2_put_byte(&pbc, pkt->type); @@ -2199,8 +2201,10 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket *pkt) old_flv_size = update_offset(rt, pkt->size); - if ((ret = av_reallocp(&rt->flv_data, rt->flv_size)) < 0) + if ((ret = av_reallocp(&rt->flv_data, rt->flv_size)) < 0) { + rt->flv_size = rt->flv_off = 0; return ret; + } next = pkt->data; p = rt->flv_data + old_flv_size; -- cgit v1.2.3