Fix coverity defects: CID 150943, 150938

CID:150943, Type:Unintentional integer overflow
CID:150938, Type:Explicit null dereferenced

Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: cao.xuewen <cao.xuewen@zte.com.cn>
Closes #5255
This commit is contained in:
cao 2016-10-14 05:30:50 +08:00 committed by Brian Behlendorf
parent 05852b3467
commit 3f93077b02
2 changed files with 6 additions and 4 deletions

View File

@ -1740,8 +1740,10 @@ kcf_last_req(void *last_req_arg, int status)
ct = (crypto_dual_data_t *)dcrops->dop_ciphertext; ct = (crypto_dual_data_t *)dcrops->dop_ciphertext;
break; break;
} }
default: default: {
break; panic("invalid kcf_op_group_t %d", (int)params->rp_opgrp);
return;
}
} }
ct->dd_offset1 = last_req->kr_saveoffset; ct->dd_offset1 = last_req->kr_saveoffset;
ct->dd_len1 = last_req->kr_savelen; ct->dd_len1 = last_req->kr_savelen;

View File

@ -3538,7 +3538,7 @@ dbuf_write_children_ready(zio_t *zio, arc_buf_t *buf, void *vdb)
epbs = dn->dn_phys->dn_indblkshift - SPA_BLKPTRSHIFT; epbs = dn->dn_phys->dn_indblkshift - SPA_BLKPTRSHIFT;
/* Determine if all our children are holes */ /* Determine if all our children are holes */
for (i = 0, bp = db->db.db_data; i < 1 << epbs; i++, bp++) { for (i = 0, bp = db->db.db_data; i < 1ULL << epbs; i++, bp++) {
if (!BP_IS_HOLE(bp)) if (!BP_IS_HOLE(bp))
break; break;
} }
@ -3547,7 +3547,7 @@ dbuf_write_children_ready(zio_t *zio, arc_buf_t *buf, void *vdb)
* If all the children are holes, then zero them all out so that * If all the children are holes, then zero them all out so that
* we may get compressed away. * we may get compressed away.
*/ */
if (i == 1 << epbs) { if (i == 1ULL << epbs) {
/* didn't find any non-holes */ /* didn't find any non-holes */
bzero(db->db.db_data, db->db.db_size); bzero(db->db.db_data, db->db.db_size);
} }