[PATCH 6/6] utf8.c: avoid char overflow
- From
Beat Bolli <dev+git@drbeat.li>
- Date
- Jul 9, 2018, 19:25 UTC
- Message-ID
- <20180709192537.18564-7-dev+git@drbeat.li>
- In-Reply-To
- <20180708144342.11922-1-dev+git@drbeat.li>
In ISO C, char constants must be in the range -128..127. Change the BOM constants to char literals to avoid overflow.
Signed-off-by: Beat Bolli <dev+git@drbeat.li> --- utf8.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/utf8.c b/utf8.c index d55e20c641..982217eec9 100644 --- a/utf8.c +++ b/utf8.c @@ -566,10 +566,10 @@ static int has_bom_prefix(const char *data, size_t len, return data && bom && (len >= bom_len) && !memcmp(data, bom, bom_len); } -static const char utf16_be_bom[] = {0xFE, 0xFF}; -static const char utf16_le_bom[] = {0xFF, 0xFE}; -static const char utf32_be_bom[] = {0x00, 0x00, 0xFE, 0xFF}; -static const char utf32_le_bom[] = {0xFF, 0xFE, 0x00, 0x00}; +static const char utf16_be_bom[] = {'\xFE', '\xFF'}; +static const char utf16_le_bom[] = {'\xFF', '\xFE'}; +static const char utf32_be_bom[] = {'\0', '\0', '\xFE', '\xFF'}; +static const char utf32_le_bom[] = {'\xFF', '\xFE', '\0', '\0'}; int has_prohibited_utf_bom(const char *enc, const char *data, size_t len) {
-- 2.18.0.203.gfac676dfb9