Fix coverity defects: CID 147565-147567

coverity scan CID:147567, Type:dereference null return value
coverity scan CID:147566, Type:dereference null return value
coverity scan CID:147565, 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 #5166
This commit is contained in:
cao 2016-10-08 04:19:43 +08:00 committed by Brian Behlendorf
parent 482cd9ee69
commit ccc92611b1
3 changed files with 8 additions and 4 deletions

View File

@ -123,13 +123,15 @@ show_vdev_stats(const char *desc, const char *ctype, nvlist_t *nv, int indent)
for (c = 0; c < children; c++) { for (c = 0; c < children; c++) {
nvlist_t *cnv = child[c]; nvlist_t *cnv = child[c];
char *cname, *tname; char *cname = NULL, *tname;
uint64_t np; uint64_t np;
int len;
if (nvlist_lookup_string(cnv, ZPOOL_CONFIG_PATH, &cname) && if (nvlist_lookup_string(cnv, ZPOOL_CONFIG_PATH, &cname) &&
nvlist_lookup_string(cnv, ZPOOL_CONFIG_TYPE, &cname)) nvlist_lookup_string(cnv, ZPOOL_CONFIG_TYPE, &cname))
cname = "<unknown>"; cname = "<unknown>";
tname = calloc(1, strlen(cname) + 2); len = strlen(cname) + 2;
(void) strcpy(tname, cname); tname = umem_zalloc(len, UMEM_NOFAIL);
(void) strlcpy(tname, cname, len);
if (nvlist_lookup_uint64(cnv, ZPOOL_CONFIG_NPARITY, &np) == 0) if (nvlist_lookup_uint64(cnv, ZPOOL_CONFIG_NPARITY, &np) == 0)
tname[strlen(tname)] = '0' + np; tname[strlen(tname)] = '0' + np;
show_vdev_stats(tname, ctype, cnv, indent + 2); show_vdev_stats(tname, ctype, cnv, indent + 2);

View File

@ -87,13 +87,14 @@ bqueue_enqueue(bqueue_t *q, void *data, uint64_t item_size)
void * void *
bqueue_dequeue(bqueue_t *q) bqueue_dequeue(bqueue_t *q)
{ {
void *ret; void *ret = NULL;
uint64_t item_size; uint64_t item_size;
mutex_enter(&q->bq_lock); mutex_enter(&q->bq_lock);
while (q->bq_size == 0) { while (q->bq_size == 0) {
cv_wait(&q->bq_pop_cv, &q->bq_lock); cv_wait(&q->bq_pop_cv, &q->bq_lock);
} }
ret = list_remove_head(&q->bq_list); ret = list_remove_head(&q->bq_list);
ASSERT3P(ret, !=, NULL);
item_size = obj2node(q, ret)->bqn_size; item_size = obj2node(q, ret)->bqn_size;
q->bq_size -= item_size; q->bq_size -= item_size;
mutex_exit(&q->bq_lock); mutex_exit(&q->bq_lock);

View File

@ -270,6 +270,7 @@ spa_config_sync(spa_t *target, boolean_t removing, boolean_t postsysevent)
mutex_enter(&spa->spa_props_lock); mutex_enter(&spa->spa_props_lock);
tdp = list_head(&spa->spa_config_list); tdp = list_head(&spa->spa_config_list);
if (spa->spa_config == NULL || if (spa->spa_config == NULL ||
tdp == NULL ||
tdp->scd_path == NULL || tdp->scd_path == NULL ||
strcmp(tdp->scd_path, dp->scd_path) != 0) { strcmp(tdp->scd_path, dp->scd_path) != 0) {
mutex_exit(&spa->spa_props_lock); mutex_exit(&spa->spa_props_lock);