]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
test 1560: avoid valgrind false positives
authorPatrick Monnerat <patrick@monnerat.net>
Tue, 28 Jan 2020 01:44:29 +0000 (02:44 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Sun, 8 Mar 2020 16:30:55 +0000 (17:30 +0100)
When using maximum code optimization level (-O3), valgrind wrongly
detects uses of uninitialized values in strcmp().

Preset buffers with all zeroes to avoid that.

tests/libtest/lib1560.c

index 6228a137b1162a808115c8444e27b3fc1f381203..fbe642c20fb5fb3348b60e211b0d59a196225f7b 100644 (file)
@@ -60,7 +60,7 @@ static int checkparts(CURLU *u, const char *in, const char *wanted,
     {CURLUPART_FRAGMENT, "fragment"},
     {0, NULL}
   };
-  buf[0] = 0;
+  memset(buf, 0, sizeof(buf));
 
   for(i = 0; parts[i].name; i++) {
     char *p = NULL;
@@ -645,6 +645,9 @@ static CURLUcode updateurl(CURLU *u, const char *cmd, unsigned int setflags)
       char buf[80];
       char part[80];
       char value[80];
+
+      memset(part, 0, sizeof(part)); /* Avoid valgrind false positive. */
+      memset(value, 0, sizeof(value)); /* Avoid valgrind false positive. */
       memcpy(buf, p, n);
       buf[n] = 0;
       if(2 == sscanf(buf, "%79[^=]=%79[^,]", part, value)) {