]> git.sesse.net Git - ffmpeg/commitdiff
fftools/ffplay: fix possible memory leak in decoder
authorMarton Balint <cus@passwd.hu>
Thu, 5 Mar 2020 22:28:12 +0000 (23:28 +0100)
committerMarton Balint <cus@passwd.hu>
Sun, 8 Mar 2020 11:56:08 +0000 (12:56 +0100)
Fixes ticket #8549.

Signed-off-by: Marton Balint <cus@passwd.hu>
fftools/ffplay.c

index fee0619f7c09fd4e3de40849de87a930e40e6077..f6511e4afdfab96ba9e60fd754fa7f5186421750 100644 (file)
@@ -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);