Browse Source

Check for null pointer before dereferencing it

pull/1885/head
Vort 2 years ago
parent
commit
95cc544c92
  1. 10
      libi2pd/NTCP2.cpp

10
libi2pd/NTCP2.cpp

@ -1457,7 +1457,7 @@ namespace transport
void NTCP2Server::HandleAccept (std::shared_ptr<NTCP2Session> conn, const boost::system::error_code& error) void NTCP2Server::HandleAccept (std::shared_ptr<NTCP2Session> conn, const boost::system::error_code& error)
{ {
if (!error) if (!error && conn)
{ {
boost::system::error_code ec; boost::system::error_code ec;
auto ep = conn->GetSocket ().remote_endpoint(ec); auto ep = conn->GetSocket ().remote_endpoint(ec);
@ -1465,8 +1465,6 @@ namespace transport
{ {
LogPrint (eLogDebug, "NTCP2: Connected from ", ep); LogPrint (eLogDebug, "NTCP2: Connected from ", ep);
if (!i2p::util::net::IsInReservedRange(ep.address ())) if (!i2p::util::net::IsInReservedRange(ep.address ()))
{
if (conn)
{ {
if (m_PendingIncomingSessions.emplace (ep.address (), conn).second) if (m_PendingIncomingSessions.emplace (ep.address (), conn).second)
{ {
@ -1477,7 +1475,6 @@ namespace transport
else else
LogPrint (eLogInfo, "NTCP2: Incoming session from ", ep.address (), " is already pending"); LogPrint (eLogInfo, "NTCP2: Incoming session from ", ep.address (), " is already pending");
} }
}
else else
LogPrint (eLogError, "NTCP2: Incoming connection from invalid IP ", ep.address ()); LogPrint (eLogError, "NTCP2: Incoming connection from invalid IP ", ep.address ());
} }
@ -1507,7 +1504,7 @@ namespace transport
void NTCP2Server::HandleAcceptV6 (std::shared_ptr<NTCP2Session> conn, const boost::system::error_code& error) void NTCP2Server::HandleAcceptV6 (std::shared_ptr<NTCP2Session> conn, const boost::system::error_code& error)
{ {
if (!error) if (!error && conn)
{ {
boost::system::error_code ec; boost::system::error_code ec;
auto ep = conn->GetSocket ().remote_endpoint(ec); auto ep = conn->GetSocket ().remote_endpoint(ec);
@ -1516,8 +1513,6 @@ namespace transport
LogPrint (eLogDebug, "NTCP2: Connected from ", ep); LogPrint (eLogDebug, "NTCP2: Connected from ", ep);
if (!i2p::util::net::IsInReservedRange(ep.address ()) || if (!i2p::util::net::IsInReservedRange(ep.address ()) ||
i2p::util::net::IsYggdrasilAddress (ep.address ())) i2p::util::net::IsYggdrasilAddress (ep.address ()))
{
if (conn)
{ {
if (m_PendingIncomingSessions.emplace (ep.address (), conn).second) if (m_PendingIncomingSessions.emplace (ep.address (), conn).second)
{ {
@ -1528,7 +1523,6 @@ namespace transport
else else
LogPrint (eLogInfo, "NTCP2: Incoming session from ", ep.address (), " is already pending"); LogPrint (eLogInfo, "NTCP2: Incoming session from ", ep.address (), " is already pending");
} }
}
else else
LogPrint (eLogError, "NTCP2: Incoming connection from invalid IP ", ep.address ()); LogPrint (eLogError, "NTCP2: Incoming connection from invalid IP ", ep.address ());
} }

Loading…
Cancel
Save