]> granicus.if.org Git - zfs/commitdiff
Fix get_special_prop() build failure
authorBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 16 Jul 2019 21:14:12 +0000 (14:14 -0700)
committerGitHub <noreply@github.com>
Tue, 16 Jul 2019 21:14:12 +0000 (14:14 -0700)
The cast of the size_t returned by strlcpy() to a uint64_t by the
VERIFY3U can result in a build failure when CONFIG_FORTIFY_SOURCE
is set.  This is due to the additional hardening.  Since the token
is expected to always fit in strval the VERIFY3U has been removed.
If somehow it doesn't, it will still be safely truncated.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Don Brady <don.brady@delphix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #8999
Closes #9020

module/zfs/zcp_get.c

index ed98f0d1025bd57e01dd33178e2c1574b42e7ff6..0a5f0b8242abd6c6c93d89bc367d9c2ccd9b4096 100644 (file)
@@ -423,13 +423,11 @@ get_special_prop(lua_State *state, dsl_dataset_t *ds, const char *dsname,
        case ZFS_PROP_RECEIVE_RESUME_TOKEN: {
                char *token = get_receive_resume_stats_impl(ds);
 
-               VERIFY3U(strlcpy(strval, token, ZAP_MAXVALUELEN),
-                   <, ZAP_MAXVALUELEN);
+               (void) strlcpy(strval, token, ZAP_MAXVALUELEN);
                if (strcmp(strval, "") == 0) {
                        char *childval = get_child_receive_stats(ds);
 
-                       VERIFY3U(strlcpy(strval, childval, ZAP_MAXVALUELEN),
-                           <, ZAP_MAXVALUELEN);
+                       (void) strlcpy(strval, childval, ZAP_MAXVALUELEN);
                        if (strcmp(strval, "") == 0)
                                error = ENOENT;