From d5bf1cf179a060e6defbbec564d557fb296d200a Mon Sep 17 00:00:00 2001
From: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
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 <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 | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'tests')

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