diff options
author | Beat Bolli <dev+git@drbeat.li> | 2018-07-09 21:25:37 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-07-09 14:38:12 -0700 |
commit | 2b647a05d7223beacba076e45b3920a8621d28e7 (patch) | |
tree | 9293b8fd81c795878e0bee0e92f5f66739d8e73e | |
parent | string-list.c: avoid conversion from void * to function pointer (diff) | |
download | tgif-2b647a05d7223beacba076e45b3920a8621d28e7.tar.xz |
utf8.c: avoid char overflow
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | utf8.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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) { |