[FFmpeg-cvslog] avcodec/cngdec: Remove AV_CODEC_CAP_DELAY

Michael Niedermayer git at videolan.org
Mon Nov 25 02:16:54 EET 2019


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sat Oct 19 21:58:26 2019 +0200| [327a968817a366c24d1513526258a3dbbcf888a7] | committer: Michael Niedermayer

avcodec/cngdec: Remove AV_CODEC_CAP_DELAY

As is the decoder will never stop, it will cause an infinite loop. The RFC seems only
to speak of non empty packets so endlessly generating noise from the last empty flush
packets seems wrong.

Fixes: infinite loop
Fixes: 18333/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_COMFORTNOISE_fuzzer-5668481831272448

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavcodec/cngdec.c b/libavcodec/cngdec.c
index 43b96fea1b..747ab49cd0 100644
--- a/libavcodec/cngdec.c
+++ b/libavcodec/cngdec.c
@@ -173,7 +173,7 @@ AVCodec ff_comfortnoise_decoder = {
     .close          = cng_decode_close,
     .sample_fmts    = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
                                                      AV_SAMPLE_FMT_NONE },
-    .capabilities   = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
+    .capabilities   = AV_CODEC_CAP_DR1,
     .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
                       FF_CODEC_CAP_INIT_CLEANUP,
 };



More information about the ffmpeg-cvslog mailing list