From 637ed905af71b91ea79c6b519abf4dc4f0c619df Mon Sep 17 00:00:00 2001 From: yogpstop Date: Thu, 27 Jan 2022 21:30:08 +0900 Subject: [PATCH] http: lws_add_http_header_by_name: add colon if needed --- lib/roles/http/header.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/roles/http/header.c b/lib/roles/http/header.c index b0d54776f..032bf6bdf 100644 --- a/lib/roles/http/header.c +++ b/lib/roles/http/header.c @@ -78,10 +78,15 @@ lws_add_http_header_by_name(struct lws *wsi, const unsigned char *name, (void)wsi; #endif if (name) { - while (*p < end && *name) + char has_colon = 0; + while (*p < end && *name) { + has_colon = has_colon || *name == ':'; *((*p)++) = *name++; - if (*p == end) + } + if (*p + (has_colon ? 1 : 2) >= end) return 1; + if (!has_colon) + *((*p)++) = ':'; *((*p)++) = ' '; } if (*p + length + 3 >= end)