avcodec/png: more informative error message for invalid sBIT size

If the sBIT chunk size is invalid, we should print a more informative
error message rather than return an error and print nothing.

Signed-off-by: Leo Izen <leo.izen@gmail.com>
release/7.0
Leo Izen 7 months ago
parent b5d42852d0
commit daffde0544
No known key found for this signature in database
GPG Key ID: 764E48EA48221833
  1. 5
      libavcodec/pngdec.c

@ -1084,8 +1084,11 @@ static int decode_sbit_chunk(AVCodecContext *avctx, PNGDecContext *s,
channels = s->color_type & PNG_COLOR_MASK_PALETTE ? 3 : ff_png_get_nb_channels(s->color_type);
if (bytestream2_get_bytes_left(gb) != channels)
if (bytestream2_get_bytes_left(gb) != channels) {
av_log(avctx, AV_LOG_ERROR, "Invalid sBIT size: %d, expected: %d\n",
bytestream2_get_bytes_left(gb), channels);
return AVERROR_INVALIDDATA;
}
for (int i = 0; i < channels; i++) {
int b = bytestream2_get_byteu(gb);

Loading…
Cancel
Save