]> granicus.if.org Git - zfs/commitdiff
Fix build break by "Implement Redacted Send/Receive"
authorTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Sat, 22 Jun 2019 23:30:59 +0000 (08:30 +0900)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sat, 22 Jun 2019 23:30:59 +0000 (16:30 -0700)
30af21b025 broke build on Fedora. gcc can detect potential overflow
on compile-time. Consider strlen of already copied string.

Also change strn to strl variants per suggestion from @behlendorf
and @ofaaland.

--
libzfs_input_check.c: In function 'test_redact':
libzfs_input_check.c:711:2: error: 'strncat' specified bound 288 equals
 destination size [-Werror=stringop-overflow=]
  strncat(bookmark, "#testbookmark", sizeof (bookmark));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Closes #8939

tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c

index 2de1ba20caffc5f37af0c560e03ff183e85ed156..ecdabbd148cce1cc4e613765e30517591828f7e5 100644 (file)
@@ -706,9 +706,10 @@ test_redact(const char *snapshot1, const char *snapshot2)
        nvlist_free(snapnv);
        nvlist_free(required);
 
-       strncpy(bookmark, snapshot1, sizeof (bookmark) - 1);
+       strlcpy(bookmark, snapshot1, sizeof (bookmark));
        *strchr(bookmark, '@') = '\0';
-       strncat(bookmark, "#testbookmark", sizeof (bookmark));
+       strlcat(bookmark, "#testbookmark", sizeof (bookmark) -
+           strlen(bookmark));
        zfs_destroy(bookmark);
 }