diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 115c335974..48c5ead747 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -2396,8 +2396,10 @@ static int get_packet(URLContext *s, int for_header) rt->bytes_read += ret; if (rt->bytes_read - rt->last_bytes_read > rt->receive_report_size) { av_log(s, AV_LOG_DEBUG, "Sending bytes read report\n"); - if ((ret = gen_bytes_read(s, rt, rpkt.timestamp + 1)) < 0) + if ((ret = gen_bytes_read(s, rt, rpkt.timestamp + 1)) < 0) { + ff_rtmp_packet_destroy(&rpkt); return ret; + } rt->last_bytes_read = rt->bytes_read; }