Close connection if LWS_CALLBACK_HTTP returns non-zero.
authorDavid Galeano <davidgaleano@turbulenz.biz>
Thu, 10 Jan 2013 02:37:29 +0000 (10:37 +0800)
committerAndy Green <andy.green@linaro.org>
Thu, 10 Jan 2013 04:45:54 +0000 (12:45 +0800)
lib/handshake.c

index a844b05..237adf7 100644 (file)
@@ -586,10 +586,11 @@ libwebsocket_read(struct libwebsocket_context *context,
                             !wsi->utf8_token[WSI_TOKEN_CONNECTION].token_len) {
                        wsi->state = WSI_STATE_HTTP;
                        if (wsi->protocol->callback)
-                               (wsi->protocol->callback)(context, wsi,
-                                  LWS_CALLBACK_HTTP, wsi->user_space,
-                                  wsi->utf8_token[WSI_TOKEN_GET_URI].token,
-                                  wsi->utf8_token[WSI_TOKEN_GET_URI].token_len);
+                               if (wsi->protocol->callback(context, wsi,
+                                                               LWS_CALLBACK_HTTP, wsi->user_space,
+                                                               wsi->utf8_token[WSI_TOKEN_GET_URI].token,
+                                                               wsi->utf8_token[WSI_TOKEN_GET_URI].token_len))
+                                       goto bail;
                        return 0;
                }