]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Avoid dangling reference
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 31 Aug 2021 10:08:09 +0000 (11:08 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 31 Aug 2021 10:08:29 +0000 (11:08 +0100)
Issue: #3871

src/libserver/css/css_tokeniser.cxx
src/libserver/css/css_tokeniser.hxx

index 2391140dd8844c90b56c8afdde5a0f4c37759ba7..dc570d64b97eeb61930ad1ba38e958319ee1280b 100644 (file)
@@ -423,7 +423,7 @@ auto css_tokeniser::next_token(void) -> struct css_parser_token
 {
        /* Check pushback queue */
        if (!backlog.empty()) {
-               auto tok = std::move(backlog.front());
+               auto tok = backlog.front();
                backlog.pop_front();
 
                return tok;
index 021284989382f42d4bfc1de0911f4913fe737a56..36ab33d8a3ebcbdd9d84e1ea7c25ccbf55ce0aac 100644 (file)
@@ -31,6 +31,7 @@ namespace rspamd::css {
 struct css_parser_token_placeholder {}; /* For empty tokens */
 
 struct css_parser_token {
+
        enum class token_type : std::uint8_t {
                whitespace_token,
                ident_token,
@@ -97,6 +98,7 @@ struct css_parser_token {
        explicit css_parser_token(token_type type, const value_type &value) :
                        value(value), type(type) {}
        css_parser_token(css_parser_token &&other) = default;
+       css_parser_token(const css_parser_token &token) = default;
        auto operator=(css_parser_token &&other) -> css_parser_token& = default;
        auto adjust_dim(const css_parser_token &dim_token) -> bool;