Browse Source

add null checks

pull/628/head
Jeff Becker 8 years ago
parent
commit
f0bc2a3645
No known key found for this signature in database
GPG Key ID: AB950234D6EA286B
  1. 12
      Datagram.cpp
  2. 11
      Datagram.h
  3. 4
      HTTPServer.cpp

12
Datagram.cpp

@ -195,24 +195,24 @@ namespace datagram @@ -195,24 +195,24 @@ namespace datagram
DatagramSession::Info DatagramSession::GetSessionInfo() const
{
if(!m_RoutingSession)
return DatagramSession::Info{nullptr, nullptr, m_LastUse, m_LastSuccess};
return DatagramSession::Info(nullptr, nullptr, m_LastUse, m_LastSuccess);
auto routingPath = m_RoutingSession->GetSharedRoutingPath();
if (!routingPath)
return DatagramSession::Info{nullptr, nullptr, m_LastUse, m_LastSuccess};
return DatagramSession::Info(nullptr, nullptr, m_LastUse, m_LastSuccess);
auto lease = routingPath->remoteLease;
auto tunnel = routingPath->outboundTunnel;
if(lease)
{
if(tunnel)
return DatagramSession::Info{lease->tunnelGateway, tunnel->GetEndpointIdentHash(), m_LastUse, m_LastSuccess};
return DatagramSession::Info(lease->tunnelGateway, tunnel->GetEndpointIdentHash(), m_LastUse, m_LastSuccess);
else
return DatagramSession::Info{lease->tunnelGateway, nullptr, m_LastUse, m_LastSuccess};
return DatagramSession::Info(lease->tunnelGateway, nullptr, m_LastUse, m_LastSuccess);
}
else if(tunnel)
return DatagramSession::Info{nullptr, tunnel->GetEndpointIdentHash(), m_LastUse, m_LastSuccess};
return DatagramSession::Info(nullptr, tunnel->GetEndpointIdentHash(), m_LastUse, m_LastSuccess);
else
return DatagramSession::Info{nullptr, nullptr, m_LastUse, m_LastSuccess};
return DatagramSession::Info(nullptr, nullptr, m_LastUse, m_LastSuccess);
}
void DatagramSession::HandleSend(std::shared_ptr<I2NPMessage> msg)

11
Datagram.h

@ -53,11 +53,14 @@ namespace datagram @@ -53,11 +53,14 @@ namespace datagram
const uint64_t activity;
const uint64_t success;
Info() : IBGW(nullptr), OBEP(nullptr), activity(0), success(0) {}
Info(const i2p::data::IdentHash & ibgw, const i2p::data::IdentHash & obep, const uint64_t a, const uint64_t s) :
IBGW(new i2p::data::IdentHash(ibgw.data())),
OBEP(new i2p::data::IdentHash(obep.data())),
Info(const uint8_t * ibgw, const uint8_t * obep, const uint64_t a, const uint64_t s) :
activity(a),
success(s) {}
success(s) {
if(ibgw) IBGW = new i2p::data::IdentHash(ibgw);
else IBGW = nullptr;
if(obep) OBEP = new i2p::data::IdentHash(obep);
else OBEP = nullptr;
}
~Info()
{
if(IBGW) delete IBGW;

4
HTTPServer.cpp

@ -352,14 +352,14 @@ namespace http { @@ -352,14 +352,14 @@ namespace http {
s << "<td>" << info.RemoteIdent.ToBase32() << "</td>";
s << "<td>";
if(info.CurrentIBGW)
s << info.CurrentIBGW->ToBase64();
s << info.CurrentIBGW->ToBase64().c_str();
else
s << "(none)";
s << "</td>";
s << "<td>";
if(info.CurrentOBEP)
s << info.CurrentOBEP->ToBase64();
s << info.CurrentOBEP->ToBase64().c_str();
else
s << "(none)";
s << "</td>";

Loading…
Cancel
Save