avcodec/diracdec: Fix Assertion frame->buf[0] failed at libavcodec/decode.c:610
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 11 May 2017 21:24:23 +0000 (23:24 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 11 May 2017 21:55:59 +0000 (23:55 +0200)
Fixes: 1487/clusterfuzz-testcase-minimized-6288036495097856

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/diracdec.c

index 202ae94..3573298 100644 (file)
@@ -2047,9 +2047,9 @@ static int get_delayed_pic(DiracContext *s, AVFrame *picture, int *got_frame)
 
     if (out) {
         out->reference ^= DELAYED_PIC_REF;
-        *got_frame = 1;
         if((ret = av_frame_ref(picture, out->avframe)) < 0)
             return ret;
+        *got_frame = 1;
     }
 
     return 0;