diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c index 03172e4aad..1aa40c0655 100644 --- a/libavcodec/xpmdec.c +++ b/libavcodec/xpmdec.c @@ -290,10 +290,10 @@ static int ascii2index(const uint8_t *cpixel, int cpp) int n = 0, m = 1, i; for (i = 0; i < cpp; i++) { - if (*p < ' ' || *p > '~') + if (*p < ' ' || *p > 0xfe) return AVERROR_INVALIDDATA; n += (*p++ - ' ') * m; - m *= 95; + m *= 220; } return n; } @@ -346,7 +346,7 @@ static int xpm_decode_frame(AVCodecContext *avctx, void *data, size = 1; for (i = 0; i < cpp; i++) - size *= 95; + size *= 220; if (ncolors <= 0 || ncolors > size) { av_log(avctx, AV_LOG_ERROR, "invalid number of colors: %d\n", ncolors);