summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorAdriano Cordova <[email protected]>2024-11-26 13:19:21 -0300
committerHeinrich Schuchardt <[email protected]>2024-12-04 12:24:37 +0100
commitdc7c8a2532925fa526ca6bd35b0519d5e3e97aed (patch)
treecf3f5ac7e6fc89fd66c4b63ba648751b0939b3ee /net
parent737c2dca95e5c4fec208026f367a5333fbdad21f (diff)
net-lwip: zero terminate string with headers in wget_lwip_fill_info()
This patch comes as a companion to the same patch but for the legacy net stack. Commit 1327c2a8d6 ("net/lwip: wget: integrate struct wget_info into wget code") introduced function wget_fill_info() which retrieves the headers from the HTTP server response. As we want to parse the string in later patches we need to ensure that it is NUL terminated. We must further check that wget_info->headers in not NULL. Otherwise a crash occurs. Signed-off-by: Adriano Cordova <[email protected]>
Diffstat (limited to 'net')
-rw-r--r--net/lwip/wget.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/net/lwip/wget.c b/net/lwip/wget.c
index 5a64f6887c9..263d6dab26c 100644
--- a/net/lwip/wget.c
+++ b/net/lwip/wget.c
@@ -40,8 +40,13 @@ struct wget_ctx {
static void wget_lwip_fill_info(struct pbuf *hdr, u16_t hdr_len, u32_t hdr_cont_len)
{
- if (wget_info->headers && hdr_len < MAX_HTTP_HEADERS_SIZE)
- pbuf_copy_partial(hdr, (void *)wget_info->headers, hdr_len, 0);
+ if (wget_info->headers) {
+ if (hdr_len < MAX_HTTP_HEADERS_SIZE)
+ pbuf_copy_partial(hdr, (void *)wget_info->headers, hdr_len, 0);
+ else
+ hdr_len = 0;
+ wget_info->headers[hdr_len] = 0;
+ }
wget_info->hdr_cont_len = (u32)hdr_cont_len;
}