[490] Further fix for auth related crashes.

Bug: https://github.com/eclipse/mosquitto/issues/490
pull/508/head
Roger A. Light 8 years ago
parent 22063013be
commit 124ee1af91

@ -230,22 +230,23 @@ int _mosquitto_socket_close(struct mosquitto *mosq)
} }
#endif #endif
if((int)mosq->sock >= 0){
#ifdef WITH_BROKER
HASH_DELETE(hh_sock, db->contexts_by_sock, mosq);
#endif
rc = COMPAT_CLOSE(mosq->sock);
mosq->sock = INVALID_SOCKET;
#ifdef WITH_WEBSOCKETS #ifdef WITH_WEBSOCKETS
}else if(mosq->sock == WEBSOCKET_CLIENT){ if(mosq->wsi)
{
if(mosq->state != mosq_cs_disconnecting){ if(mosq->state != mosq_cs_disconnecting){
mosq->state = mosq_cs_disconnect_ws; mosq->state = mosq_cs_disconnect_ws;
} }
if(mosq->wsi){ libwebsocket_callback_on_writable(mosq->ws_context, mosq->wsi);
libwebsocket_callback_on_writable(mosq->ws_context, mosq->wsi); }else
}
mosq->sock = INVALID_SOCKET;
#endif #endif
{
if((int)mosq->sock >= 0){
#ifdef WITH_BROKER
HASH_DELETE(hh_sock, db->contexts_by_sock, mosq);
#endif
rc = COMPAT_CLOSE(mosq->sock);
mosq->sock = INVALID_SOCKET;
}
} }
#ifdef WITH_BROKER #ifdef WITH_BROKER

Loading…
Cancel
Save