Просмотр исходного кода

ucode: fix parsing \xHH and \0OOO escape sequences

Both need to add add bytes, not UTF-8 sequences.

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 2 месяцев назад
Родитель
Сommit
a64db95a23

+ 29 - 0
package/utils/ucode/patches/100-lexer-fix-parsing-xHH-and-0OOO-escape-sequences.patch

@@ -0,0 +1,29 @@
+From: Felix Fietkau <[email protected]>
+Date: Sun, 5 Oct 2025 11:25:15 +0200
+Subject: [PATCH] lexer: fix parsing \xHH and \0OOO escape sequences
+
+Both need to add add bytes, not UTF-8 sequences.
+
+Signed-off-by: Felix Fietkau <[email protected]>
+---
+
+--- a/lexer.c
++++ b/lexer.c
+@@ -277,7 +277,7 @@ parse_escape(uc_lexer_t *lex, const char
+ 			code = code * 16 + hex(ch);
+ 		}
+ 
+-		append_utf8(lex, code);
++		uc_vector_push(&lex->buffer, code);
+ 	}
+ 
+ 	/* octal or letter */
+@@ -293,7 +293,7 @@ parse_escape(uc_lexer_t *lex, const char
+ 			if (code > 255)
+ 				return emit_op(lex, -3, TK_ERROR, ucv_string_new("Invalid escape sequence"));
+ 
+-			append_utf8(lex, code);
++			uc_vector_push(&lex->buffer, code);
+ 		}
+ 
+ 		/* ... no octal sequence, handle potential regex macros */