]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
server/getpart: clear the buffer before load
authorDaniel Stenberg <daniel@haxx.se>
Thu, 23 Mar 2023 09:53:29 +0000 (10:53 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 23 Mar 2023 13:46:07 +0000 (14:46 +0100)
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

tests/server/getpart.c

index f7c6fd23fd1122f05bc86c4a45728730d22a4033..7d3bff75a6d05fe931291f4a95a42d2dd1196449 100644 (file)
@@ -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;
   }