use part of service buffer to make response not malloc
Done with an offset because the encoded key is stored at the
start of service_buffer at this time
Signed-off-by: Andy Green <andy.green@linaro.org>
diff --git a/lib/server-handshake.c b/lib/server-handshake.c
index 71007ec..ce6cb55 100644
--- a/lib/server-handshake.c
+++ b/lib/server-handshake.c
@@ -83,15 +83,7 @@
/* make a buffer big enough for everything */
- response = (char *)malloc(256 +
- wsi->u.hdr.hdrs[WSI_TOKEN_UPGRADE].token_len +
- wsi->u.hdr.hdrs[WSI_TOKEN_CONNECTION].token_len +
- wsi->u.hdr.hdrs[WSI_TOKEN_PROTOCOL].token_len);
- if (!response) {
- lwsl_err("Out of memory for response buffer\n");
- goto bail;
- }
-
+ response = (char *)context->service_buffer + MAX_WEBSOCKET_04_KEY_LEN;
p = response;
LWS_CPYAPP(p, "HTTP/1.1 101 Switching Protocols\x0d\x0a"
"Upgrade: WebSocket\x0d\x0a"
@@ -251,7 +243,6 @@
/* alright clean up and set ourselves into established state */
- free(response);
wsi->state = WSI_STATE_ESTABLISHED;
wsi->lws_rx_parse_state = LWS_RXPS_NEW;