From 59b4b5cc80fb8c0fa3cc9cd1300b9d6cf64d9f30 Mon Sep 17 00:00:00 2001 From: caoxuewen Date: Wed, 19 Oct 2016 20:53:25 +0800 Subject: [PATCH] fix coverity defects with CID 147626-28-29 issues: fix coverity defects coverity scan CID:147626, Type:Dereference before null check coverity scan CID:147628, Type:Dereference before null check coverity scan CID:147629, Type:Dereference before null check Signed-off-by: cao.xuewen cao.xuewen@zte.com.cn --- lib/libuutil/uu_dprintf.c | 12 ++++-------- module/zfs/zfs_fm.c | 19 +++++++++---------- module/zfs/zfs_vnops.c | 3 +-- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/lib/libuutil/uu_dprintf.c b/lib/libuutil/uu_dprintf.c index 5d5fb84a836f..d32d6e95430b 100644 --- a/lib/libuutil/uu_dprintf.c +++ b/lib/libuutil/uu_dprintf.c @@ -76,14 +76,10 @@ uu_dprintf_create(const char *name, uu_dprintf_severity_t severity, if ((D = uu_zalloc(sizeof (uu_dprintf_t))) == NULL) return (NULL); - if (name != NULL) { - D->uud_name = strdup(name); - if (D->uud_name == NULL) { - uu_free(D); - return (NULL); - } - } else { - D->uud_name = NULL; + D->uud_name = strdup(name); + if (D->uud_name == NULL) { + uu_free(D); + return (NULL); } D->uud_severity = severity; diff --git a/module/zfs/zfs_fm.c b/module/zfs/zfs_fm.c index 15dbdc2a0b50..46cd2b56ace0 100644 --- a/module/zfs/zfs_fm.c +++ b/module/zfs/zfs_fm.c @@ -154,7 +154,8 @@ zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **detector_out, * If we are doing a spa_tryimport() or in recovery mode, * ignore errors. */ - if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT || + if (spa != NULL || + spa_load_state(spa) == SPA_LOAD_TRYIMPORT || spa_load_state(spa) == SPA_LOAD_RECOVER) return; @@ -272,15 +273,13 @@ zfs_ereport_start(nvlist_t **ereport_out, nvlist_t **detector_out, FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT, DATA_TYPE_INT32, spa_load_state(spa), NULL); - if (spa != NULL) { - fm_payload_set(ereport, FM_EREPORT_PAYLOAD_ZFS_POOL_FAILMODE, - DATA_TYPE_STRING, - spa_get_failmode(spa) == ZIO_FAILURE_MODE_WAIT ? - FM_EREPORT_FAILMODE_WAIT : - spa_get_failmode(spa) == ZIO_FAILURE_MODE_CONTINUE ? - FM_EREPORT_FAILMODE_CONTINUE : FM_EREPORT_FAILMODE_PANIC, - NULL); - } + fm_payload_set(ereport, FM_EREPORT_PAYLOAD_ZFS_POOL_FAILMODE, + DATA_TYPE_STRING, + spa_get_failmode(spa) == ZIO_FAILURE_MODE_WAIT ? + FM_EREPORT_FAILMODE_WAIT : + spa_get_failmode(spa) == ZIO_FAILURE_MODE_CONTINUE ? + FM_EREPORT_FAILMODE_CONTINUE : FM_EREPORT_FAILMODE_PANIC, + NULL); if (vd != NULL) { vdev_t *pvd = vd->vdev_parent; diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c index 8ac14df0039f..0a602eb85e7b 100644 --- a/module/zfs/zfs_vnops.c +++ b/module/zfs/zfs_vnops.c @@ -4112,8 +4112,7 @@ zfs_putpage(struct inode *ip, struct page *pp, struct writeback_control *wbc) * writepages() normally handles the entire commit for * performance reasons. */ - if (zsb->z_log != NULL) - zil_commit(zsb->z_log, zp->z_id); + zil_commit(zsb->z_log, zp->z_id); } ZFS_EXIT(zsb);