gw_client_hangup_event, didn't take into account the possibility that session_alloc had failed in which case the session pointer of client dcb is NULL.
This commit is contained in:
parent
3769a02957
commit
38b44a3a3a
@ -1165,15 +1165,20 @@ gw_client_hangup_event(DCB *dcb)
|
||||
if (dcb->state != DCB_STATE_POLLING) {
|
||||
goto return_rc;
|
||||
}
|
||||
session = dcb->session;
|
||||
CHK_SESSION(session);
|
||||
ss_dassert(session->service != NULL);
|
||||
router = session->service->router;
|
||||
ss_dassert(router != NULL);
|
||||
router_instance = session->service->router_instance;
|
||||
rsession = session->router_session;
|
||||
|
||||
router->closeSession(router_instance, rsession);
|
||||
session = dcb->session;
|
||||
/**
|
||||
* session may be NULL if session_alloc failed.
|
||||
* In that case router session was not created.
|
||||
*/
|
||||
if (session != NULL) {
|
||||
CHK_SESSION(session);
|
||||
router = session->service->router;
|
||||
router_instance = session->service->router_instance;
|
||||
rsession = session->router_session;
|
||||
|
||||
router->closeSession(router_instance, rsession);
|
||||
}
|
||||
|
||||
dcb_close(dcb);
|
||||
return_rc:
|
||||
|
Loading…
x
Reference in New Issue
Block a user