HomeFreeBSD

Move strlcat, strlcpy, and strnlen

Description

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

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Nov 20 2018, 6:37 PM
GitHub <noreply@github.com>Committed on Nov 20 2018, 6:37 PM
Parents
rG0cd5c941d097: zpool: allow split with whole-disk devices
Branches
Unknown
Tags
Unknown
Reverted By
rG4b702901637e: Check for strlcat and strlcpy