From: Richard Mudgett Date: Tue, 18 Aug 2015 21:06:54 +0000 (-0500) Subject: res_http_websocket.c: Fix some off nominal path cleanup. X-Git-Tag: 14.0.0-beta1~736^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59253a22623ff82cb382c633877d44636d2bda77;p=thirdparty%2Fasterisk.git res_http_websocket.c: Fix some off nominal path cleanup. * Remove extraneous unlock on off-nominal path. * Add missing HTTP error reply. Change-Id: I1f402bfe448fba8696b507477cab5f060ccd9b2b --- diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c index a29daa8ffa..86ec00cce0 100644 --- a/res/res_http_websocket.c +++ b/res/res_http_websocket.c @@ -209,7 +209,6 @@ int AST_OPTIONAL_API_NAME(ast_websocket_server_add_protocol)(struct ast_websocke protocol = ast_websocket_sub_protocol_alloc(name); if (!protocol) { - ao2_unlock(server->protocols); return -1; } protocol->session_established = callback; @@ -840,6 +839,7 @@ int AST_OPTIONAL_API_NAME(ast_websocket_uri_cb)(struct ast_tcptls_session_instan && protocol_handler->session_attempted(ser, get_vars, headers, session->session_id)) { ast_debug(3, "WebSocket connection from '%s' rejected by protocol handler '%s'\n", ast_sockaddr_stringify(&ser->remote_address), protocol_handler->name); + websocket_bad_request(ser); ao2_ref(protocol_handler, -1); return 0; }