mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Fedora 28: Fix misc bounds check compiler warnings
Fix a bunch of (mostly) sprintf/snprintf truncation compiler warnings that show up on Fedora 28 (GCC 8.0.1). Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #7361 Closes #7368
This commit is contained in:
@@ -1030,10 +1030,11 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
|
||||
if (prop == ZPROP_INVAL && zfs_prop_userquota(propname)) {
|
||||
zfs_userquota_prop_t uqtype;
|
||||
char newpropname[128];
|
||||
char *newpropname = NULL;
|
||||
char domain[128];
|
||||
uint64_t rid;
|
||||
uint64_t valary[3];
|
||||
int rc;
|
||||
|
||||
if (userquota_propname_decode(propname, zoned,
|
||||
&uqtype, domain, sizeof (domain), &rid) != 0) {
|
||||
@@ -1088,17 +1089,24 @@ zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
|
||||
* userquota@<hex-rid>-domain, to make it easy
|
||||
* for the kernel to decode.
|
||||
*/
|
||||
(void) snprintf(newpropname, sizeof (newpropname),
|
||||
"%s%llx-%s", zfs_userquota_prop_prefixes[uqtype],
|
||||
rc = asprintf(&newpropname, "%s%llx-%s",
|
||||
zfs_userquota_prop_prefixes[uqtype],
|
||||
(longlong_t)rid, domain);
|
||||
if (rc == -1 || newpropname == NULL) {
|
||||
(void) no_memory(hdl);
|
||||
goto error;
|
||||
}
|
||||
|
||||
valary[0] = uqtype;
|
||||
valary[1] = rid;
|
||||
valary[2] = intval;
|
||||
if (nvlist_add_uint64_array(ret, newpropname,
|
||||
valary, 3) != 0) {
|
||||
free(newpropname);
|
||||
(void) no_memory(hdl);
|
||||
goto error;
|
||||
}
|
||||
free(newpropname);
|
||||
continue;
|
||||
} else if (prop == ZPROP_INVAL && zfs_prop_written(propname)) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
|
||||
@@ -3380,7 +3380,7 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const char *tosnap,
|
||||
* Determine the name of the origin snapshot.
|
||||
*/
|
||||
if (originsnap) {
|
||||
(void) strncpy(origin, originsnap, sizeof (origin));
|
||||
(void) strlcpy(origin, originsnap, sizeof (origin));
|
||||
if (flags->verbose)
|
||||
(void) printf("using provided clone origin %s\n",
|
||||
origin);
|
||||
|
||||
Reference in New Issue
Block a user