]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Another try to fix references safety
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 31 Aug 2021 12:12:00 +0000 (13:12 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 31 Aug 2021 12:12:00 +0000 (13:12 +0100)
Issue: #3871

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

index ef3d6f666510a77dadfc8a14778a61d6acdd7556..d7d56f3e549f162d2cbbba2739addf5701ad32e9 100644 (file)
@@ -319,7 +319,7 @@ auto css_parser::simple_block_consumer(std::unique_ptr<css_consumed_block> &top,
                        /* Ignore whitespaces */
                        break;
                default:
-                       tokeniser->pushback_token(std::move(next_token));
+                       tokeniser->pushback_token(next_token);
                        ret = component_value_consumer(consume_current ? top : block);
                        break;
                }
@@ -379,7 +379,7 @@ auto css_parser::qualified_rule_consumer(std::unique_ptr<css_consumed_block> &to
                        /* Ignore whitespaces */
                        break;
                default:
-                       tokeniser->pushback_token(std::move(next_token));
+                       tokeniser->pushback_token(next_token);
                        ret = component_value_consumer(block);
                        break;
                };
@@ -442,7 +442,7 @@ auto css_parser::at_rule_consumer(std::unique_ptr<css_consumed_block> &top) -> b
                        want_more = false;
                        break;
                default:
-                       tokeniser->pushback_token(std::move(next_token));
+                       tokeniser->pushback_token(next_token);
                        ret = component_value_consumer(block);
                        break;
                };
@@ -559,11 +559,11 @@ css_parser::consume_css_blocks(const std::string_view &sv) -> std::unique_ptr<cs
                        eof = true;
                        break;
                case css_parser_token::token_type::at_keyword_token:
-                       tokeniser->pushback_token(std::move(next_token));
+                       tokeniser->pushback_token(next_token);
                        ret = at_rule_consumer(consumed_blocks);
                        break;
                default:
-                       tokeniser->pushback_token(std::move(next_token));
+                       tokeniser->pushback_token(next_token);
                        ret = qualified_rule_consumer(consumed_blocks);
                        break;
                }
@@ -595,7 +595,7 @@ css_parser::consume_css_rule(const std::string_view &sv) -> std::unique_ptr<css_
                        /* Ignore whitespaces */
                        break;
                default:
-                       tokeniser->pushback_token(std::move(next_token));
+                       tokeniser->pushback_token(next_token);
                        ret = component_value_consumer(rule_block);
                        break;
                }
index 36ab33d8a3ebcbdd9d84e1ea7c25ccbf55ce0aac..ac38df46381a43f832f0daf39ccbba6f4e840966 100644 (file)
@@ -186,8 +186,8 @@ public:
 
        auto next_token(void) -> struct css_parser_token;
        auto get_offset(void) const { return offset; }
-       auto pushback_token(struct css_parser_token &&t) const -> void {
-               backlog.push_back(std::forward<css_parser_token>(t));
+       auto pushback_token(const struct css_parser_token &t) const -> void {
+               backlog.push_back(t);
        }
 private:
        std::string_view input;