avformat/vividas: Reset n_audio_subpackets on error

Fixes: signed integer overflow: -63 - 2147483594 cannot be represented in type 'int'
Fixes: 486530208/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-4694818252193792

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer
2026-02-23 20:29:40 +01:00
parent 87c371e2ff
commit 32e4ddeda3

View File

@@ -723,8 +723,10 @@ static int viv_read_packet(AVFormatContext *s,
}
last_start =
viv->audio_subpackets[viv->n_audio_subpackets].start = (int)(off - avio_tell(pb));
if (last_start < last)
if (last_start < last) {
viv->n_audio_subpackets = 0;
return AVERROR_INVALIDDATA;
}
viv->current_audio_subpacket = 0;
} else {