diff --git a/src/packet_analysis/Analyzer.cc b/src/packet_analysis/Analyzer.cc index b272ec4965..e61ef83238 100644 --- a/src/packet_analysis/Analyzer.cc +++ b/src/packet_analysis/Analyzer.cc @@ -114,7 +114,7 @@ bool Analyzer::ForwardPacket(size_t len, const uint8_t* data, Packet* packet, ui DBG_LOG(DBG_PACKET_ANALYSIS, "Analysis in %s succeeded, next layer identifier is %#x.", GetAnalyzerName(), identifier); - packet_mgr->TrackAnalyzer(inner_analyzer); + packet_mgr->TrackAnalyzer(inner_analyzer.get()); return inner_analyzer->AnalyzePacket(len, data, packet); } @@ -130,7 +130,7 @@ bool Analyzer::ForwardPacket(size_t len, const uint8_t* data, Packet* packet) co return false; } - packet_mgr->TrackAnalyzer(inner_analyzer); + packet_mgr->TrackAnalyzer(inner_analyzer.get()); return inner_analyzer->AnalyzePacket(len, data, packet); } diff --git a/src/packet_analysis/Manager.h b/src/packet_analysis/Manager.h index 833c7ccde2..010cef27b8 100644 --- a/src/packet_analysis/Manager.h +++ b/src/packet_analysis/Manager.h @@ -181,7 +181,7 @@ public: * The packet analyzer history is implemented in form of a stack, which is reset on a * call to ProcessPacket() but maintained throughout calls to ProcessInnerPacket(). */ - void TrackAnalyzer(AnalyzerPtr analyzer) { analyzer_stack.push_back(std::move(analyzer)); } + void TrackAnalyzer(Analyzer* analyzer) { analyzer_stack.push_back(analyzer); } private: /** @@ -232,7 +232,7 @@ private: uint64_t total_not_processed = 0; iosource::PktDumper* unprocessed_dumper = nullptr; - std::vector analyzer_stack; + std::vector analyzer_stack; }; } // namespace packet_analysis