From: Daniel Stenberg Date: Thu, 23 Mar 2023 09:53:29 +0000 (+0100) Subject: server/getpart: clear the buffer before load X-Git-Tag: curl-8_1_0~312 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8963c25db3e54238b7e2d1f9ef5c45f499069c8a;p=thirdparty%2Fcurl.git server/getpart: clear the buffer before load Fixes msan warnings: ==54195==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x55ece35e57cb in line_length /home/runner/work/curl/curl/tests/server/getpart.c:111:25 #1 0x55ece35e3b83 in readline /home/runner/work/curl/curl/tests/server/getpart.c:164:24 #2 0x55ece35e0269 in getpart /home/runner/work/curl/curl/tests/server/getpart.c:347:18 #3 0x55ece36180b6 in parse_servercmd /home/runner/work/curl/curl/tests/server/sws.c:283:13 Closes #10822 --- diff --git a/tests/server/getpart.c b/tests/server/getpart.c index f7c6fd23fd..7d3bff75a6 100644 --- a/tests/server/getpart.c +++ b/tests/server/getpart.c @@ -149,7 +149,7 @@ static int readline(char **buffer, size_t *bufsize, size_t *length, char *newptr; if(!*buffer) { - *buffer = malloc(128); + *buffer = calloc(128, 1); if(!*buffer) return GPE_OUT_OF_MEMORY; *bufsize = 128; @@ -171,6 +171,7 @@ static int readline(char **buffer, size_t *bufsize, size_t *length, newptr = realloc(*buffer, *bufsize * 2); if(!newptr) return GPE_OUT_OF_MEMORY; + memset(&newptr[*bufsize], 0, *bufsize); *buffer = newptr; *bufsize *= 2; }