From 1ebd88063dc4e63c93f1be81cfb49399ff148bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20R=C3=BChsen?= Date: Wed, 12 Feb 2020 16:44:59 +0100 Subject: [PATCH] * src/http-ntlm.c (ntlm_input): Replace alloca by fixed length array --- src/http-ntlm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/http-ntlm.c b/src/http-ntlm.c index 4b56f4ce..674c0908 100644 --- a/src/http-ntlm.c +++ b/src/http-ntlm.c @@ -118,17 +118,17 @@ ntlm_input (struct ntlmdata *ntlm, const char *header) 32 (48) start of data block */ ssize_t size; - char *buffer = (char *) alloca (strlen (header)); + char buffer[48]; // decode 48 bytes needs ((48 + 2) / 3) * 4 + 1 bytes DEBUGP (("Received a type-2 NTLM message.\n")); - size = wget_base64_decode (header, buffer, strlen (header)); + size = wget_base64_decode (header, buffer, sizeof (buffer)); if (size < 0) return false; /* malformed base64 from server */ ntlm->state = NTLMSTATE_TYPE2; /* we got a type-2 */ - if (size >= 48) + if ((size_t) size >= sizeof (buffer)) /* the nonce of interest is index [24 .. 31], 8 bytes */ memcpy (ntlm->nonce, &buffer[24], 8);