From 5b5fa28359d676b09296e866cd3757975bf796af Mon Sep 17 00:00:00 2001 From: cbdev Date: Tue, 10 Nov 2026 14:36:11 +0100 Subject: Add base64 padding to the accept key as the nettle documentation indicates this is not contained in BASE64_ENCODE_LENGTH --- websocket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websocket.c b/websocket.c index b720aca..3fe48cc 100644 --- a/websocket.c +++ b/websocket.c @@ -159,7 +159,7 @@ static int ws_upgrade_http(websocket* ws){ struct sha1_ctx ws_accept_ctx; struct base64_encode_ctx ws_accept_encode; uint8_t ws_accept_digest[SHA1_DIGEST_SIZE]; - char ws_accept_key[BASE64_ENCODE_LENGTH(SHA1_DIGEST_SIZE) + 3] = ""; + char ws_accept_key[BASE64_ENCODE_LENGTH(SHA1_DIGEST_SIZE) + BASE64_ENCODE_FINAL_LENGTH + 3 /*line termination*/] = ""; sha1_init(&ws_accept_ctx); sha1_update(&ws_accept_ctx, strlen(ws->socket_key), (uint8_t*) ws->socket_key); sha1_update(&ws_accept_ctx, strlen(RFC6455_MAGIC_KEY), (uint8_t*) RFC6455_MAGIC_KEY); -- cgit v1.2.3