http_transaction_completed handle two completions in detach reset order
authorAndy Green <andy.green@linaro.org>
Mon, 15 Feb 2016 11:05:43 +0000 (19:05 +0800)
committerAndy Green <andy.green@linaro.org>
Mon, 15 Feb 2016 11:05:43 +0000 (19:05 +0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
lib/server.c

index 63c80f5..7bd0f04 100644 (file)
@@ -737,11 +737,12 @@ lws_http_transaction_completed(struct lws *wsi)
         * that is already at least the start of another header set, simply
         * reset the existing header table and keep it.
         */
-       if (wsi->u.hdr.ah &&
-           wsi->u.hdr.ah->rxpos == wsi->u.hdr.ah->rxlen)
-               lws_header_table_detach(wsi);
-       else
-               lws_header_table_reset(wsi);
+       if (wsi->u.hdr.ah) {
+               if (wsi->u.hdr.ah->rxpos == wsi->u.hdr.ah->rxlen)
+                       lws_header_table_detach(wsi);
+               else
+                       lws_header_table_reset(wsi);
+       }
 
        /* If we're (re)starting on headers, need other implied init */
        wsi->u.hdr.ues = URIES_IDLE;