summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Curtis <dalecurtis@chromium.org>2013-01-10 11:05:29 -0800
committerLuca Barbato <lu_zero@gentoo.org>2013-01-11 00:12:08 +0100
commitae3d41636942cbc0236bad21ad06c65f4eb0f096 (patch)
treef3fb23e441e893697a15000b183ee3be03a19a6a
parentec86ba57312745fd7ad9771e3121e79c6aacba30 (diff)
matroska: Fix use after free
Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r--libavformat/matroskadec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index bf67253737..86ff477d85 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1744,6 +1744,7 @@ static int matroska_deliver_packet(MatroskaDemuxContext *matroska,
*/
static void matroska_clear_queue(MatroskaDemuxContext *matroska)
{
+ matroska->prev_pkt = NULL;
if (matroska->packets) {
int n;
for (n = 0; n < matroska->num_packets; n++) {
@@ -2231,7 +2232,6 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
avio_seek(s->pb, st->index_entries[st->nb_index_entries-1].pos, SEEK_SET);
matroska->current_id = 0;
while ((index = av_index_search_timestamp(st, timestamp, flags)) < 0) {
- matroska->prev_pkt = NULL;
matroska_clear_queue(matroska);
if (matroska_parse_cluster(matroska) < 0)
break;