diff options
author | Daniel Stenberg <daniel@haxx.se> | 2023-03-23 10:53:29 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2023-03-23 14:46:07 +0100 |
commit | 8963c25db3e54238b7e2d1f9ef5c45f499069c8a (patch) | |
tree | 875b5cba267a9912cc359767546797a0aadb5a33 | |
parent | 0c2fcb0f60c699a3faa09ffb29e2c1db16e0a13b (diff) | |
download | curl-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.c | 3 |
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; } |