aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-07-11 20:52:48 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-09-15 21:29:59 +0200
commit4cd1d3e3b7e7412818553ae84e04ae3e077b680f (patch)
tree99084eddb7ee973227241a8698408ef25e25ccb8
parent487fc61cb22f7ed07626577044eda7bd2deb2366 (diff)
downloadffmpeg-4cd1d3e3b7e7412818553ae84e04ae3e077b680f.tar.gz
avcodec/iff: Use unsigned to avoid compiler warning
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.rheinhardt@outlook.com>
-rw-r--r--libavcodec/iff.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/iff.c b/libavcodec/iff.c
index 4910d2f859..e02d2e77e5 100644
--- a/libavcodec/iff.c
+++ b/libavcodec/iff.c
@@ -151,9 +151,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");