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
ct = (crypto_dual_data_t *)dcrops->dop_ciphertext;
break;
}
- default:
- break;
+ default: {
+ panic("invalid kcf_op_group_t %d", (int)params->rp_opgrp);
+ return;
+ }
}
ct->dd_offset1 = last_req->kr_saveoffset;
ct->dd_len1 = last_req->kr_savelen;
epbs = dn->dn_phys->dn_indblkshift - SPA_BLKPTRSHIFT;
/* 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))
break;
}
* If all the children are holes, then zero them all out so that
* we may get compressed away.
*/
- if (i == 1 << epbs) {
+ if (i == 1ULL << epbs) {
/* didn't find any non-holes */
bzero(db->db.db_data, db->db.db_size);
}