Merge pull request #1076 from majestrate/plug-memory-leak-2020-02-01

use std::shared_ptr not a bare pointer to prevent memleak
pull/1079/head
Jeff 4 years ago committed by GitHub
commit c8417a7270
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -473,7 +473,7 @@ namespace llarp
}
else
{
auto *replyMsg = new dns::Message(std::move(msg));
auto replyMsg = std::make_shared< dns::Message >(std::move(msg));
using service::Address;
using service::OutboundContext;
return EnsurePathToService(
@ -493,7 +493,7 @@ namespace llarp
}
else
{
auto *replyMsg = new dns::Message(std::move(msg));
auto replyMsg = std::make_shared< dns::Message >(std::move(msg));
return EnsurePathToSNode(
addr.as_array(),
[=](const RouterID &, exit::BaseSession_ptr s) {

@ -271,7 +271,8 @@ namespace llarp
template < typename Addr_t, typename Endpoint_t >
void
SendDNSReply(Addr_t addr, Endpoint_t ctx, dns::Message* query,
SendDNSReply(Addr_t addr, Endpoint_t ctx,
std::shared_ptr< dns::Message > query,
std::function< void(dns::Message) > reply, bool snode,
bool sendIPv6)
{
@ -283,7 +284,6 @@ namespace llarp
else
query->AddNXReply();
reply(*query);
delete query;
}
/// our dns resolver
std::shared_ptr< dns::Proxy > m_Resolver;

Loading…
Cancel
Save