From d5bf1cf179a060e6defbbec564d557fb296d200a Mon Sep 17 00:00:00 2001 From: Tomohiro Kusumi Date: Sun, 23 Jun 2019 08:30:59 +0900 Subject: Fix build break by "Implement Redacted Send/Receive" 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 Reviewed-by: Olaf Faaland Signed-off-by: Tomohiro Kusumi Closes #8939 --- tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c b/tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c index 2de1ba20c..ecdabbd14 100644 --- a/tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c +++ b/tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c @@ -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); } -- cgit v1.2.3