From a12f31775403b757c0e1bd4d96aaa5cec2a3f00a Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 1 Jul 2021 17:58:59 +0100 Subject: [PATCH] [Project] More fixes for closed tags --- src/libserver/html/html.cxx | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/libserver/html/html.cxx b/src/libserver/html/html.cxx index ae73b7413..82c5d213c 100644 --- a/src/libserver/html/html.cxx +++ b/src/libserver/html/html.cxx @@ -1335,6 +1335,8 @@ html_process_input(rspamd_mempool_t *pool, if (cur_tag->flags & FL_CLOSED) { cur_tag->closing.end = cur_tag->content_offset; cur_tag->closing.start = cur_tag->tag_start; + + cur_tag = parent_tag; } }; @@ -1916,17 +1918,10 @@ TEST_CASE("html text extraction") { const std::vector> cases{ - /* Tables */ - {"\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "
headaheadb
data1data2
", "heada headb\ndata1 data2\n"}, + {" \n" + " \n" + " a b a > b a < b a & b 'a "a"\n" + " ", R"|(a b a > b a < b a & b 'a "a")|"}, /* XML tags */ {"\n" " \n" "", "Hello, world! test\ndata<>\nstuff?"}, {"

test

", "test\n"}, - + /* Tables */ + {"\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + "
headaheadb
data1data2
", "heada headb\ndata1 data2\n"}, }; rspamd_url_init(NULL); -- 2.39.5