diff --git a/src/filters/base.hpp b/src/filters/base.hpp index 09a7d1a3a473572006b50e86d07bd093c328b6c0..e5b519f7dde1f19347fdab46425ed89bee2cf3e2 100644 --- a/src/filters/base.hpp +++ b/src/filters/base.hpp @@ -30,7 +30,7 @@ namespace Filters { }; struct ChainedFilters : public BaseFilter { - explicit ChainedFilters(const std::list<Filters::BaseFilter*>& chainedFilters) + explicit ChainedFilters(std::list<Filters::BaseFilter*>&& chainedFilters) : chainedFilters(chainedFilters) {} // Usually the encrypt/encode/obfs function. @@ -49,7 +49,7 @@ namespace Filters { return binaryDatagram; } - const std::list<Filters::BaseFilter*>& chainedFilters; + std::list<Filters::BaseFilter*> chainedFilters; }; struct ReversedFilter : public BaseFilter { diff --git a/src/forwarder.hpp b/src/forwarder.hpp index 584784bebe6a2b58b50460cd09fc40d73ff687d8..6791fca542c52c64cde6c51d83a1905f5bd9791e 100644 --- a/src/forwarder.hpp +++ b/src/forwarder.hpp @@ -55,7 +55,7 @@ public: std::list<Filters::BaseFilter*> chainedFilters; for (auto &&filterConfig : filterConfigs) chainedFilters.push_back(CreateFilterFromConfig(filterConfig)); - ptrFilter = new Filters::ChainedFilters(chainedFilters); + ptrFilter = new Filters::ChainedFilters(std::move(chainedFilters)); } ~Forwarder() {