avcodec/encode: Check bitrate

Fixes: -1.80923e+19 is outside the range of representable values of type 'long'
Fixes: 71103/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-6542773681979392

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
2024-09-19 23:33:49 +02:00
parent 36924fa306
commit 74385dd496
+5
View File
@@ -764,6 +764,11 @@ int ff_encode_preinit(AVCodecContext *avctx)
return AVERROR(EINVAL);
}
if (avctx->bit_rate < 0) {
av_log(avctx, AV_LOG_ERROR, "The encoder bitrate is negative.\n");
return AVERROR(EINVAL);
}
if (avctx->flags & AV_CODEC_FLAG_COPY_OPAQUE &&
!(avctx->codec->capabilities & AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE)) {
av_log(avctx, AV_LOG_ERROR, "The copy_opaque flag is set, but the "