Fix coverity defects: CID 147563, 147560

coverity scan CID:147563, Type:dereference null return value
coverity scan CID:147560, Type:dereference null return value

Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: cao.xuewen <cao.xuewen@zte.com.cn>
Closes #5168
This commit is contained in:
cao 2016-10-01 06:56:17 +08:00 committed by Brian Behlendorf
parent 470f12d631
commit 0a8f18f932
2 changed files with 13 additions and 0 deletions

View File

@ -2262,6 +2262,11 @@ zfs_get_clones_nvl(zfs_handle_t *zhp)
(void) strsep(&cp, "/@"); (void) strsep(&cp, "/@");
root = zfs_open(zhp->zfs_hdl, pool, root = zfs_open(zhp->zfs_hdl, pool,
ZFS_TYPE_FILESYSTEM); ZFS_TYPE_FILESYSTEM);
if (root == NULL) {
nvlist_free(nv);
nvlist_free(value);
return (NULL);
}
(void) get_clones_cb(root, &gca); (void) get_clones_cb(root, &gca);
} }

View File

@ -2354,6 +2354,10 @@ dsl_dataset_promote_check(void *arg, dmu_tx_t *tx)
} }
snap = list_head(&ddpa->shared_snaps); snap = list_head(&ddpa->shared_snaps);
if (snap == NULL) {
err = SET_ERROR(ENOENT);
goto out;
}
origin_ds = snap->ds; origin_ds = snap->ds;
/* compute origin's new unique space */ /* compute origin's new unique space */
@ -2462,6 +2466,10 @@ dsl_dataset_promote_check(void *arg, dmu_tx_t *tx)
* iterate over all bps. * iterate over all bps.
*/ */
snap = list_head(&ddpa->origin_snaps); snap = list_head(&ddpa->origin_snaps);
if (snap == NULL) {
err = SET_ERROR(ENOENT);
goto out;
}
err = snaplist_space(&ddpa->shared_snaps, err = snaplist_space(&ddpa->shared_snaps,
snap->ds->ds_dir->dd_origin_txg, &ddpa->cloneusedsnap); snap->ds->ds_dir->dd_origin_txg, &ddpa->cloneusedsnap);
if (err != 0) if (err != 0)