GCC 12 apparently believes that negative palette sizes are possible (they are not, as this has already been checked during init) and therefore emits a -Wstringop-overflow= for the memcpy. Using unsigned avoids this. (To be honest, there might be a compiler bug involved.)
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/iff.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index ad96bd9191..0bc2e3ca21 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -152,9 +152,10 @@ static av_always_inline uint32_t gray2rgb(const uint32_t x) { static int cmap_read_palette(AVCodecContext *avctx, uint32_t *pal) { IffContext *s = avctx->priv_data; - int count, i; + unsigned count, i; const uint8_t *const palette = avctx->extradata + AV_RB16(avctx->extradata); - int palette_size = avctx->extradata_size - AV_RB16(avctx->extradata); + /* extract_header() already checked that the RHS is >= 0. */ + unsigned palette_size = avctx->extradata_size - AV_RB16(avctx->extradata); if (avctx->bits_per_coded_sample > 8) { av_log(avctx, AV_LOG_ERROR, "bits_per_coded_sample > 8 not supported\n"); -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".