OSDN Git Service

audio_frame_queue: fix null ptr dereference
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 15 May 2012 00:15:23 +0000 (02:15 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 15 May 2012 00:31:28 +0000 (02:31 +0200)
This happened when a frame was removed before any was added.
Fixes part of Ticket1208

Found-by: John Villamil, Piotr Bandurski and Carl Eugen Hoyos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/audio_frame_queue.c

index 31cab29..999aa93 100644 (file)
@@ -100,7 +100,7 @@ void ff_af_queue_remove(AudioFrameQueue *afq, int nb_samples, int64_t *pts,
 
     if(nb_samples){
         av_assert0(!afq->frame_count);
-        if(afq->frames[0].pts != AV_NOPTS_VALUE)
+        if(afq->frames && afq->frames[0].pts != AV_NOPTS_VALUE)
             afq->frames[0].pts += nb_samples;
         av_log(afq->avctx, AV_LOG_DEBUG, "Trying to remove %d more samples than are in the que\n", nb_samples);
     }