aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2023-01-30 23:08:14 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2023-02-01 20:23:37 +0100
commitad95d9c855db3e78e6495ea52e5fd2e089320d74 (patch)
tree5f3d48425ac79b2051feec4b6941eb225aaade0e
parent35871c26d25fd9735a26848af7d9d65684990e6c (diff)
downloadffmpeg-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.c3
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;
}