diff --git a/RouterContext.cpp b/RouterContext.cpp index ac77ad2c..99579ec2 100644 --- a/RouterContext.cpp +++ b/RouterContext.cpp @@ -40,7 +40,7 @@ namespace i2p routerInfo.SetProperty ("start_uptime", "90m"); routerInfo.CreateBuffer (); - m_RouterInfo = routerInfo; + m_RouterInfo.Update (routerInfo.GetBuffer (), routerInfo.GetBufferLen ()); } void RouterContext::OverrideNTCPAddress (const char * host, int port) diff --git a/RouterInfo.cpp b/RouterInfo.cpp index c02ae96a..7e998070 100644 --- a/RouterInfo.cpp +++ b/RouterInfo.cpp @@ -340,6 +340,8 @@ namespace data std::stringstream s; WriteToStream (s); m_BufferLen = s.str ().size (); + if (!m_Buffer) + m_Buffer = new uint8_t[MAX_RI_BUFFER_SIZE]; memcpy (m_Buffer, s.str ().c_str (), m_BufferLen); // signature i2p::context.Sign ((uint8_t *)m_Buffer, m_BufferLen, (uint8_t *)m_Buffer + m_BufferLen);