mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
avcodec/pixlet: fixes integer overflow in read_highpass()
Fixes: runtime error: negation of -2147483648 cannot be represented in type 'int32_t' (aka 'int'); cast to an unsigned type to negate this value to itself Fixes: 2879/clusterfuzz-testcase-minimized-6317542639403008 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:
parent
b9f92093a1
commit
cadab5a2a7
@ -331,6 +331,9 @@ static int read_highpass(AVCodecContext *avctx, uint8_t *ptr, int plane, AVFrame
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == INT32_MIN)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
ret = read_high_coeffs(avctx, ptr + bytestream2_tell(&ctx->gb), dest, size,
|
ret = read_high_coeffs(avctx, ptr + bytestream2_tell(&ctx->gb), dest, size,
|
||||||
c, (b >= FFABS(a)) ? b : a, d,
|
c, (b >= FFABS(a)) ? b : a, d,
|
||||||
ctx->band[plane][i + 1].width, stride);
|
ctx->band[plane][i + 1].width, stride);
|
||||||
|
Loading…
Reference in New Issue
Block a user