Fixed segfault in libwebsocket_context_destroy.
authorPaulo Roberto Urio <paulourio@gmail.com>
Mon, 4 Jun 2012 00:40:28 +0000 (08:40 +0800)
committerAndy Green <andy.green@linaro.org>
Mon, 4 Jun 2012 00:40:28 +0000 (08:40 +0800)
When creating a context with NULL extensions list,
a segmentation fault was yelled when trying to
destroy the context.  This checks if the
extension list is NULL before go through the list.
Signed-off-by: Paulo Roberto Urio <paulourio@gmail.com>
lib/libwebsockets.c

index 4b5ec8b..4c19a15 100644 (file)
@@ -2094,7 +2094,7 @@ libwebsocket_context_destroy(struct libwebsocket_context *context)
        m = LWS_EXT_CALLBACK_CLIENT_CONTEXT_DESTRUCT;
        if (context->listen_port)
                m = LWS_EXT_CALLBACK_SERVER_CONTEXT_DESTRUCT;
-       while (ext->callback) {
+       while (ext && ext->callback) {
                ext->callback(context, ext, NULL, m, NULL, NULL, 0);
                ext++;
        }