diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2023-01-30 23:08:14 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2023-02-01 20:23:37 +0100 |
commit | ad95d9c855db3e78e6495ea52e5fd2e089320d74 (patch) | |
tree | 5f3d48425ac79b2051feec4b6941eb225aaade0e | |
parent | 35871c26d25fd9735a26848af7d9d65684990e6c (diff) | |
download | ffmpeg-ad95d9c855db3e78e6495ea52e5fd2e089320d74.tar.gz |
avformat/lafdec: Check if all data was read
Fixes: OOM
Fixes: 54572/clusterfuzz-testcase-minimized-ffmpeg_dem_LAF_fuzzer-4974038870523904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/lafdec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/lafdec.c b/libavformat/lafdec.c index d02b479c4d..a1775e1b69 100644 --- a/libavformat/lafdec.c +++ b/libavformat/lafdec.c @@ -21,6 +21,7 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" +#include "avio_internal.h" #include "internal.h" #define MAX_STREAMS 4096 @@ -205,7 +206,7 @@ again: s->nb_stored = st_count; if (!st_count) return AVERROR_INVALIDDATA; - ret = avio_read(pb, s->data, st_count * st->codecpar->sample_rate * bpp); + ret = ffio_read_size(pb, s->data, st_count * st->codecpar->sample_rate * bpp); if (ret < 0) return ret; } |