cast to unsigned char before ctype calls in image readers (#3245)
diff --git a/apps/shared/avifjpeg.c b/apps/shared/avifjpeg.c index d9a5e6e..4a557cb 100644 --- a/apps/shared/avifjpeg.c +++ b/apps/shared/avifjpeg.c
@@ -766,7 +766,7 @@ // Make sure that remaining characters (if any) are only whitespace. const int len = (int)strlen(textValues[i]); while (charsRead < len) { - if (!isspace(textValues[i][charsRead])) { + if (!isspace((unsigned char)textValues[i][charsRead])) { return AVIF_FALSE; // Invalid character. } ++charsRead;
diff --git a/apps/shared/avifpng.c b/apps/shared/avifpng.c index 794e8ef..9d7fee5 100644 --- a/apps/shared/avifpng.c +++ b/apps/shared/avifpng.c
@@ -38,7 +38,7 @@ ++i; continue; } - if (!isxdigit(hexString[i]) || !isxdigit(hexString[i + 1])) { + if (!isxdigit((unsigned char)hexString[i]) || !isxdigit((unsigned char)hexString[i + 1])) { avifRWDataFree(bytes); fprintf(stderr, "Metadata extraction failed: invalid character at %" AVIF_FMT_ZU "\n", i); return AVIF_FALSE;