mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
fix null protocol dereference when closing session
Thanks to Christopher Baker for pointing out that when we close a session, if the close is coming before a protocol was negotiated for the connection or when the protocol was otherwise left at NULL, we'll blow a segfault. This implements his proposed fix. Reported-by: Christopher Baker <me@christopherbaker.net> Signed-off-by: Andy Green <andy@warmcat.com>
This commit is contained in:
parent
4eaa86b291
commit
d4302734d7
1 changed files with 2 additions and 1 deletions
|
@ -187,7 +187,8 @@ libwebsocket_close_and_free_session(struct libwebsocket_context *this,
|
|||
|
||||
/* tell the user it's all over for this guy */
|
||||
|
||||
if (wsi->protocol->callback && old_state == WSI_STATE_ESTABLISHED)
|
||||
if (wsi->protocol && wsi->protocol->callback &&
|
||||
old_state == WSI_STATE_ESTABLISHED)
|
||||
wsi->protocol->callback(this, wsi, LWS_CALLBACK_CLOSED,
|
||||
wsi->user_space, NULL, 0);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue