summaryrefslogtreecommitdiffstats
path: root/src/libserver/html/html.cxx
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-07-13 14:12:58 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-07-13 14:13:24 +0100
commit235979e848be5322b9f8d5a979a3c8fde46d9fa4 (patch)
treedbca93cf5bfd2580d39a8c8ea42e5c0a3ea5bb56 /src/libserver/html/html.cxx
parentccf4d5d646a4cf1cd29ca9c6c5010c087e8ebe72 (diff)
downloadrspamd-235979e848be5322b9f8d5a979a3c8fde46d9fa4.tar.gz
rspamd-235979e848be5322b9f8d5a979a3c8fde46d9fa4.zip
[Minor] Further fixes for tag state machine
Diffstat (limited to 'src/libserver/html/html.cxx')
-rw-r--r--src/libserver/html/html.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libserver/html/html.cxx b/src/libserver/html/html.cxx
index bd323b43f..5d2479ab4 100644
--- a/src/libserver/html/html.cxx
+++ b/src/libserver/html/html.cxx
@@ -388,9 +388,8 @@ html_parse_tag_content(rspamd_mempool_t *pool,
/* Should never be in attribute names but ignored */
tag->flags |= FL_BROKEN;
}
- else {
- store_value_character(true);
- }
+
+ store_value_character(true);
}
break;
@@ -421,11 +420,13 @@ html_parse_tag_content(rspamd_mempool_t *pool,
hc->flags |= RSPAMD_HTML_FLAG_BAD_ELEMENTS;
tag->flags |= FL_BROKEN;
store_component_value();
+ store_value_character(true);
state = spaces_after_param;
}
else {
/* Empty attribute */
store_component_value();
+ store_value_character(true);
state = spaces_after_param;
}
}
@@ -539,6 +540,8 @@ html_parse_tag_content(rspamd_mempool_t *pool,
else if (*in == '=') {
/* Attributes cannot start with '=' */
tag->flags |= FL_BROKEN;
+ store_value_character(true);
+ state = parse_attr_name;
}
else {
store_value_character(true);