[FFmpeg-devel] [PATCH 2/3] avformat/rawdec: reduce randomness in used identifiers

Michael Niedermayer michael at niedermayer.cc
Thu Jun 4 02:19:18 EEST 2020


Fixes: out of array access
Fixes: 22686/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5121369624018944

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavformat/rawdec.c | 2 ++
 libavformat/rawdec.h | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/rawdec.c b/libavformat/rawdec.c
index fee016cc7f..10c37c5cb9 100644
--- a/libavformat/rawdec.c
+++ b/libavformat/rawdec.c
@@ -123,6 +123,8 @@ const AVOption ff_rawvideo_options[] = {
     { "raw_packet_size", "", OFFSET(raw_packet_size), AV_OPT_TYPE_INT, {.i64 = RAW_PACKET_SIZE }, 1, INT_MAX, DEC},
     { NULL },
 };
+#undef OFFSET
+#define OFFSET(x) offsetof(FFRawDemuxerContext, x)
 const AVOption ff_raw_options[] = {
     { "raw_packet_size", "", OFFSET(raw_packet_size), AV_OPT_TYPE_INT, {.i64 = RAW_PACKET_SIZE }, 1, INT_MAX, DEC},
     { NULL },
diff --git a/libavformat/rawdec.h b/libavformat/rawdec.h
index 85e0790c86..34c8adcb19 100644
--- a/libavformat/rawdec.h
+++ b/libavformat/rawdec.h
@@ -95,7 +95,7 @@ static const AVClass name ## _demuxer_class = {\
 };
 
 #define FF_DEF_RAWSUB_DEMUXER(shortname, longname, probe, ext, id, flag)\
-FF_RAWVIDEO_DEMUXER_CLASS(shortname)\
+FF_RAWSUB_DEMUXER_CLASS(shortname)\
 AVInputFormat ff_ ## shortname ## _demuxer = {\
     .name           = #shortname,\
     .long_name      = NULL_IF_CONFIG_SMALL(longname),\
-- 
2.17.1



More information about the ffmpeg-devel mailing list