aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2023-09-20 01:32:56 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2023-10-03 20:09:27 +0200
commit52d666edec73c834c60811e330f86a7cf1d916da (patch)
tree2a69a9f5d2d1876f7f909b05b64150d2ba286485
parent53948d6200479d25cf0d82c1e7f7cf50eebdc6ff (diff)
downloadffmpeg-52d666edec73c834c60811e330f86a7cf1d916da.tar.gz
avformat/avs: Check if return code is representable
Fixes: leak Fixes: 62164/clusterfuzz-testcase-minimized-ffmpeg_dem_AVS_fuzzer-6738814988320768 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/avs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/avs.c b/libavformat/avs.c
index ab47980a11..19f0373157 100644
--- a/libavformat/avs.c
+++ b/libavformat/avs.c
@@ -140,6 +140,10 @@ static int avs_read_audio_packet(AVFormatContext * s, AVPacket * pkt)
return 0; /* this indicate EOS */
if (ret < 0)
return ret;
+ if (size != (int)size) {
+ av_packet_unref(pkt);
+ return AVERROR(EDOM);
+ }
pkt->stream_index = avs->st_audio->index;
pkt->flags |= AV_PKT_FLAG_KEY;