You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First thanks for the latest drop of 1.10.0.
I think this is a potential bug, posting first as Q because this is only from static analysis.
TransportArbitrator::addPendingClient()
if (m_clientFreeList == NULL)
{
info = createPendingClient();
}
createPendingClient() use of ERPC_CREATE_NEW_OBJECT, which in the case of dynamic allocation uses new (std::nothrow), can return NULL which is not tested. The calling code does test for toke=0 (TransportArbitrator::prepareClientReceive) but before that the following part in addPendingClient () will fail:
// Add to active list.
info->m_next = m_clientList; //<--
m_clientList = info;