Make sure that the charcode is signless
authorliiulinsong <liulinsong@kylinos.cn>
Fri, 26 May 2023 02:18:58 +0000 (10:18 +0800)
committerSimon McVittie <smcv@debian.org>
Wed, 8 Nov 2023 16:30:21 +0000 (16:30 +0000)
1. The data with type of char is signed by default.

2. The byte value of UTF-8 is signless by default.

3. So, if a UTF-8 charcode is stored in a char array, we should cast the
type of its value from char to unsigned char.

Origin: 3.24.39, commit:6dc75b46cc9afe1c98b7ba72a9b1a275c723ea42

Gbp-Pq: Name Make-sure-that-the-charcode-is-signless.patch

gtk/gtkcssparser.c

index 44ff7bcfca738427c5422932559324d6d77373eb..fc8ede28b886f149fa6c650ab981e0929856c296 100644 (file)
@@ -373,7 +373,7 @@ _gtk_css_parser_read_char (GtkCssParser *parser,
       parser->data++;
       return TRUE;
     }
-  if (*parser->data >= 127)
+  if ((*(guchar *) parser->data) >= 127)
     {
       gsize len = g_utf8_skip[(guint) *(guchar *) parser->data];