Browse Source

handle nullptr gracefully

synchronous
Volker Birk 5 years ago
parent
commit
c46b8ec4f8
  1. 32
      callback_dispatcher.cc

32
callback_dispatcher.cc

@ -88,10 +88,12 @@ namespace pEp {
PEP_STATUS CallbackDispatcher::_messageToSend(::message *msg) PEP_STATUS CallbackDispatcher::_messageToSend(::message *msg)
{ {
for (auto target : targets) { for (auto target : targets) {
auto _msg = ::message_dup(msg); ::message *_msg = nullptr;
if (!_msg) if (msg) {
return PEP_OUT_OF_MEMORY; _msg = ::message_dup(msg);
if (!_msg)
return PEP_OUT_OF_MEMORY;
}
assert(target.messageToSend); assert(target.messageToSend);
target.messageToSend(_msg); target.messageToSend(_msg);
} }
@ -104,16 +106,20 @@ namespace pEp {
{ {
for (auto target : targets) { for (auto target : targets) {
if (target.notifyHandshake) { if (target.notifyHandshake) {
auto _me = ::identity_dup(me); ::pEp_identity *_me = nullptr;
if (!_me) if (me) {
return PEP_OUT_OF_MEMORY; _me = ::identity_dup(me);
if (!_me)
auto _partner = ::identity_dup(partner); return PEP_OUT_OF_MEMORY;
if (!_partner) { }
free_identity(_me); ::pEp_identity *_partner = nullptr;
return PEP_OUT_OF_MEMORY; if (partner) {
_partner = ::identity_dup(partner);
if (!_partner) {
free_identity(_me);
return PEP_OUT_OF_MEMORY;
}
} }
target.notifyHandshake(_me, _partner, signal); target.notifyHandshake(_me, _partner, signal);
} }
} }

Loading…
Cancel
Save