]> granicus.if.org Git - zfs/commit
Move strlcat, strlcpy, and strnlen
authorBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 20 Nov 2018 18:37:49 +0000 (10:37 -0800)
committerGitHub <noreply@github.com>
Tue, 20 Nov 2018 18:37:49 +0000 (10:37 -0800)
commit8005ca4f749f71397197292452ca539a25286b89
tree33e2c05893126f7f00c5a80b6fefafcccafdb479
parent0cd5c941d097ec170177e1a5f97f08ebd32eff85
Move strlcat, strlcpy, and strnlen

Move strlcat() and strlcpy() from .c source files in to the libspl
string.h header.  By changing these compatibility functions to static
inline functions they can included as needed without requiring linking
with the libspl.so library.

Remove strnlen() which is barely used in the source, and has been
provided by glibc since v2.10.

Finally, convert four instances of strncpy() to strlcpy() in
libzfs_input_check.c which were causing build warnings when compiling
with gcc 8.2.1.  For example:

  libzfs_input_check.c: In function ‘zfs_destroy’:
  libzfs_input_check.c:651:9: error: ‘strncpy’ specified bound \
      4096 equals destination size [-Werror=stringop-truncation]
    (void) strncpy(zc.zc_name, dataset, sizeof (zc.zc_name));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Richard Laager <rlaager@wiktel.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #8116
lib/libspl/Makefile.am
lib/libspl/include/string.h
lib/libspl/strlcat.c [deleted file]
lib/libspl/strlcpy.c [deleted file]
lib/libspl/strnlen.c [deleted file]
tests/zfs-tests/cmd/libzfs_input_check/libzfs_input_check.c