]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: iov: fix printing of error
authorDaiki Ueno <ueno@gnu.org>
Wed, 17 Jul 2024 03:15:06 +0000 (12:15 +0900)
committerDaiki Ueno <ueno@gnu.org>
Sun, 21 Jul 2024 23:50:49 +0000 (08:50 +0900)
This fixes an incorrect usage of a printf format specifier and adds
extra length check before calling memcmp.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
tests/iov.c

index 78537d273d730f8aa8c500eb1a086f7e68fb8088..9c4799b5503d4503320e49678d8d689621317684 100644 (file)
@@ -224,13 +224,14 @@ void doit(void)
                for (j = 0; j < tests[i].iovcnt; j++) {
                        translate(iov[j].iov_base, iov[j].iov_len);
 
-                       if (memcmp(iov[j].iov_base, tests[i].iov[j].iov_base,
+                       if (iov[j].iov_len != tests[i].iov[j].iov_len ||
+                           memcmp(iov[j].iov_base, tests[i].iov[j].iov_base,
                                   iov[j].iov_len) != 0)
-                               fail("iov doesn't match: %*s != %*s\n",
+                               fail("iov doesn't match: \"%.*s\" != \"%.*s\"\n",
                                     (int)iov[j].iov_len,
                                     (char *)iov[j].iov_base,
                                     (int)tests[i].iov[j].iov_len,
-                                    (char *)tests[i].iov[j].iov_len);
+                                    (char *)tests[i].iov[j].iov_base);
                }
        }
 }