Fixed memory leak in callback message handling code

This commit is contained in:
Joseph Henry
2019-02-21 14:06:29 -08:00
parent 19be36611d
commit 884425fc5b
3 changed files with 36 additions and 22 deletions

View File

@@ -150,6 +150,9 @@ void postEvent(int eventCode) {
void freeEvent(struct zts_callback_msg *msg)
{
if (!msg) {
return;
}
if (msg->node) { delete msg->node; }
if (msg->network) { delete msg->network; }
if (msg->netif) { delete msg->netif; }
@@ -177,10 +180,12 @@ void _process_callback_event_helper(struct zts_callback_msg *msg)
arg = msg->peer->address;
}
env->CallVoidMethod(objRef, _userCallbackMethodRef, arg, msg->eventCode);
freeEvent(msg);
}
#else
if (_userEventCallbackFunc) {
_userEventCallbackFunc(msg);
freeEvent(msg);
}
#endif
}