[FFmpeg-cvslog] fftools/ffplay: fix possible memory leak in decoder

Marton Balint git at videolan.org
Sun Mar 8 20:34:23 EET 2020


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Thu Mar  5 23:28:12 2020 +0100| [af7ec793d49e260aa4c5595d4947322fc91aa72d] | committer: Marton Balint

fftools/ffplay: fix possible memory leak in decoder

Fixes ticket #8549.

Signed-off-by: Marton Balint <cus at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=af7ec793d49e260aa4c5595d4947322fc91aa72d
---

 fftools/ffplay.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index fee0619f7c..f6511e4afd 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -644,7 +644,10 @@ static int decoder_decode_frame(Decoder *d, AVFrame *frame, AVSubtitle *sub) {
                 if (packet_queue_get(d->queue, &pkt, 1, &d->pkt_serial) < 0)
                     return -1;
             }
-        } while (d->queue->serial != d->pkt_serial);
+            if (d->queue->serial == d->pkt_serial)
+                break;
+            av_packet_unref(&pkt);
+        } while (1);
 
         if (pkt.data == flush_pkt.data) {
             avcodec_flush_buffers(d->avctx);



More information about the ffmpeg-cvslog mailing list