summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-09-17 12:46:41 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-09-17 12:47:08 +0100
commit6f5881e0bb7468a4ff1a52bdbd40cc36102639fd (patch)
treec52d3dbab5b3e8a91a33eef3c5e9a7ab811d42b6
parent76a470911b7b4dfe5bc6f12c91e8633e459d7735 (diff)
downloadrspamd-6f5881e0bb7468a4ff1a52bdbd40cc36102639fd.tar.gz
rspamd-6f5881e0bb7468a4ff1a52bdbd40cc36102639fd.zip
[Minor] Escape \uFFFD in the sources
-rw-r--r--src/libserver/html/html_entities.cxx6
-rw-r--r--src/libutil/cxx/utf8_util.cxx2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/libserver/html/html_entities.cxx b/src/libserver/html/html_entities.cxx
index 912da6e58..8a3ff61da 100644
--- a/src/libserver/html/html_entities.cxx
+++ b/src/libserver/html/html_entities.cxx
@@ -2605,10 +2605,10 @@ TEST_SUITE("html entities") {
{"FOO&#ZOO", "FOO&#ZOO"},
{"FOO&#xBAR", "FOOºR"},
{"FOO&#x41BAR", "FOO䆺R"},
- {"FOO&#x0000;ZOO", "FOO�ZOO"},
+ {"FOO&#x0000;ZOO", "FOO\uFFFDZOO"},
{"FOO&#x0081;ZOO", "FOO\u0081ZOO"},
- {"FOO&#xD800;ZOO", "FOO�ZOO"},
- {"FOO&#xFFFFFF;ZOO", "FOO�ZOO"},
+ {"FOO&#xD800;ZOO", "FOO\uFFFDZOO"},
+ {"FOO&#xFFFFFF;ZOO", "FOO\uFFFDZOO"},
{"ZZ&pound_id=23", "ZZ£_id=23"},
{"ZZ&prod_id=23", "ZZ&prod_id=23"},
{"ZZ&gt", "ZZ>"},
diff --git a/src/libutil/cxx/utf8_util.cxx b/src/libutil/cxx/utf8_util.cxx
index cf6e70fe6..da68c990c 100644
--- a/src/libutil/cxx/utf8_util.cxx
+++ b/src/libutil/cxx/utf8_util.cxx
@@ -225,7 +225,7 @@ TEST_CASE("utf8 normalise") {
{"13\u200C_\u0020\u0308\u0301\u038e\u03ab\u200D", "13_ ̈́ΎΫ",
RSPAMD_UNICODE_NORM_UNNORMAL|RSPAMD_UNICODE_NORM_ZERO_SPACES},
/* Buffer overflow case */
- {"u\xC2\xC2\xC2\xC2\xC2\xC2""abcdef""abcdef", "u������",
+ {"u\xC2\xC2\xC2\xC2\xC2\xC2""abcdef""abcdef", "u\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD",
RSPAMD_UNICODE_NORM_UNNORMAL|RSPAMD_UNICODE_NORM_ERROR},
};