1
0
forked from mirrors/0ad

Fix glooxwrapper::Message::when() memory leak in f2c76cc75d, refs #3156.

Differential Revision: https://code.wildfiregames.com/D2291
Tested on: clang 8.0.1

This was SVN commit r22903.
This commit is contained in:
elexis
2019-09-15 10:28:23 +00:00
parent d592bf9cb6
commit 98b8775cd9
2 changed files with 9 additions and 9 deletions
+7 -8
View File
@@ -533,16 +533,18 @@ glooxwrapper::string glooxwrapper::JID::resource() const
glooxwrapper::Message::Message(gloox::Message* wrapped, bool owned)
: m_Wrapped(wrapped), m_Owned(owned)
: m_Wrapped(wrapped),
m_Owned(owned),
m_From(m_Wrapped->from()),
m_DelayedDelivery(m_Wrapped->when() ? new glooxwrapper::DelayedDelivery(m_Wrapped->when()) : nullptr)
{
m_From = new glooxwrapper::JID(m_Wrapped->from());
}
glooxwrapper::Message::~Message()
{
if (m_Owned)
delete m_Wrapped;
delete m_From;
delete m_DelayedDelivery;
}
gloox::Message::MessageType glooxwrapper::Message::subtype() const
@@ -552,7 +554,7 @@ gloox::Message::MessageType glooxwrapper::Message::subtype() const
const glooxwrapper::JID& glooxwrapper::Message::from() const
{
return *m_From;
return m_From;
}
glooxwrapper::string glooxwrapper::Message::body() const
@@ -572,10 +574,7 @@ glooxwrapper::string glooxwrapper::Message::thread() const
const glooxwrapper::DelayedDelivery* glooxwrapper::Message::when() const
{
const gloox::DelayedDelivery* wrapped = m_Wrapped->when();
if (wrapped == 0)
return 0;
return new glooxwrapper::DelayedDelivery(wrapped);
return m_DelayedDelivery;
}
glooxwrapper::MUCRoom::MUCRoom(gloox::MUCRoom* room, bool owned)
+2 -1
View File
@@ -508,7 +508,8 @@ namespace glooxwrapper
private:
gloox::Message* m_Wrapped;
bool m_Owned;
glooxwrapper::JID* m_From;
glooxwrapper::JID m_From;
glooxwrapper::DelayedDelivery* m_DelayedDelivery;
public:
Message(gloox::Message* wrapped, bool owned);
~Message();