From: Michael Schenk Date: Fri, 25 Nov 2016 08:36:20 +0000 (+0100) Subject: matroskadec: prevent access of elements after freeing X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=18b94669372d3d4b6c51e347587ea64acef9dbb8;p=ffmpeg matroskadec: prevent access of elements after freeing Using the decode interrupt feature of ffmpeg may cause crashes by accessing previously freed pointers in matroska_read_close. To prevent this reset nb_elem to zero after freeing the elements, because ffmpeg normally tests for nb_elem. Signed-off-by: Andreas Cadhalpun --- diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index f79511e4f1e..d96e861c489 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1237,6 +1237,7 @@ static void ebml_free(EbmlSyntax *syntax, void *data) j++, ptr += syntax[i].list_elem_size) ebml_free(syntax[i].def.n, ptr); av_freep(&list->elem); + list->nb_elem = 0; } else ebml_free(syntax[i].def.n, data_off); default: