summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2023-03-23 10:53:29 +0100
committerDaniel Stenberg <daniel@haxx.se>2023-03-23 14:46:07 +0100
commit8963c25db3e54238b7e2d1f9ef5c45f499069c8a (patch)
tree875b5cba267a9912cc359767546797a0aadb5a33
parent0c2fcb0f60c699a3faa09ffb29e2c1db16e0a13b (diff)
downloadcurl-8963c25db3e54238b7e2d1f9ef5c45f499069c8a.tar.gz
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
-rw-r--r--tests/server/getpart.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/server/getpart.c b/tests/server/getpart.c
index f7c6fd23f..7d3bff75a 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;
}