mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 10:54:35 +03:00
Fix coverity defects: zfs channel programs
CID 173243, 173245: Memory - corruptions (OVERRUN) Added size argument to lcompat_sprintf() to avoid use of INT_MAX CID 173244: Integer handling issues (OVERFLOW_BEFORE_WIDEN) Added cast to uint64_t to avoid a 32 bit overflow warning CID 173242: Integer handling issues (CONSTANT_EXPRESSION_RESULT) Conditionally removed unused luai_numisnan() floating point check CID 173241: Resource leaks (RESOURCE_LEAK) Added missing close(fd) on error path CID 173240: (UNINIT) Fixed uninitialized variable in get_special_prop() CID 147560: Null pointer dereferences (NULL_RETURNS) Cleaned up bad code merge in dsl_dataset_promote_check() CID 28475: Memory - illegal accesses (OVERRUN) Fixed lcompat_sprintf() to use a size paramater CID 28418, 28422: Error handling issues (CHECKED_RETURN) Added function result cast to (void) to avoid warning CID 23935, 28411, 28412: Memory - corruptions (ARRAY_VS_SINGLETON) Added casts to avoid exposing result as an array Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Don Brady <don.brady@delphix.com> Closes #7181
This commit is contained in:
committed by
Brian Behlendorf
parent
7b30ee6baf
commit
cbce581353
@@ -2750,12 +2750,8 @@ dsl_dataset_promote_check(void *arg, dmu_tx_t *tx)
|
||||
return (err);
|
||||
|
||||
hds = ddpa->ddpa_clone;
|
||||
snap = list_head(&ddpa->shared_snaps);
|
||||
origin_ds = snap->ds;
|
||||
max_snap_len = MAXNAMELEN - strlen(ddpa->ddpa_clonename) - 1;
|
||||
|
||||
snap = list_head(&ddpa->origin_snaps);
|
||||
|
||||
if (dsl_dataset_phys(hds)->ds_flags & DS_FLAG_NOPROMOTE) {
|
||||
promote_rele(ddpa, FTAG);
|
||||
return (SET_ERROR(EXDEV));
|
||||
@@ -2789,6 +2785,7 @@ dsl_dataset_promote_check(void *arg, dmu_tx_t *tx)
|
||||
|
||||
/* compute origin's new unique space */
|
||||
snap = list_tail(&ddpa->clone_snaps);
|
||||
ASSERT(snap != NULL);
|
||||
ASSERT3U(dsl_dataset_phys(snap->ds)->ds_prev_snap_obj, ==,
|
||||
origin_ds->ds_object);
|
||||
dsl_deadlist_space_range(&snap->ds->ds_deadlist,
|
||||
|
||||
@@ -303,7 +303,7 @@ get_special_prop(lua_State *state, dsl_dataset_t *ds, const char *dsname,
|
||||
{
|
||||
int error = 0;
|
||||
objset_t *os;
|
||||
uint64_t numval;
|
||||
uint64_t numval = 0;
|
||||
char *strval = kmem_alloc(ZAP_MAXVALUELEN, KM_SLEEP);
|
||||
char setpoint[ZFS_MAX_DATASET_NAME_LEN] =
|
||||
"Internal error - setpoint not determined";
|
||||
|
||||
@@ -297,7 +297,8 @@ zcp_synctask_wrapper(lua_State *state)
|
||||
dsl_pool_t *dp = ri->zri_pool;
|
||||
|
||||
/* MOS space is triple-dittoed, so we multiply by 3. */
|
||||
uint64_t funcspace = (info->blocks_modified << DST_AVG_BLKSHIFT) * 3;
|
||||
uint64_t funcspace =
|
||||
((uint64_t)info->blocks_modified << DST_AVG_BLKSHIFT) * 3;
|
||||
|
||||
zcp_parse_args(state, info->name, info->pargs, info->kwargs);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user