[FFmpeg-cvslog] mimic: Fix race condition

Michael Niedermayer git at videolan.org
Fri May 10 01:47:47 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri May 10 01:18:12 2013 +0200| [500220a8e84acb952e8a62d88505c5fb6a51843a] | committer: Michael Niedermayer

mimic: Fix race condition

Fixes access after free.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/mimic.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c
index 8985f6b..e2c9369 100644
--- a/libavcodec/mimic.c
+++ b/libavcodec/mimic.c
@@ -175,7 +175,7 @@ static int mimic_decode_update_thread_context(AVCodecContext *avctx, const AVCod
 
     for (i = 0; i < FF_ARRAY_ELEMS(dst->frames); i++) {
         ff_thread_release_buffer(avctx, &dst->frames[i]);
-        if (src->frames[i].f->data[0]) {
+        if (i != src->next_cur_index && src->frames[i].f->data[0]) {
             ret = ff_thread_ref_frame(&dst->frames[i], &src->frames[i]);
             if (ret < 0)
                 return ret;



More information about the ffmpeg-cvslog mailing list