net/ice/base: resolve static analysis issues
Coverity complains first_free can be -1 resulting in a negative shift left when k equals 0; i.e. the expression 1 << (first_free - k). Fix this by explicitly checking for this case. Cc: stable@dpdk.org Signed-off-by: Dan Nowlin <dan.nowlin@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
This commit is contained in:
parent
9467486f17
commit
2db7c617f6
@ -4200,7 +4200,7 @@ ice_update_fd_swap(struct ice_hw *hw, u16 prof_id, struct ice_fv_word *es)
|
||||
index = i + 1;
|
||||
|
||||
/* check for room */
|
||||
if (first_free + 1 < ice_fd_pairs[index].count)
|
||||
if (first_free + 1 < (s8)ice_fd_pairs[index].count)
|
||||
return ICE_ERR_MAX_LIMIT;
|
||||
|
||||
/* place in extraction sequence */
|
||||
@ -4210,6 +4210,9 @@ ice_update_fd_swap(struct ice_hw *hw, u16 prof_id, struct ice_fv_word *es)
|
||||
es[first_free - k].off =
|
||||
ice_fd_pairs[index].off + (k * 2);
|
||||
|
||||
if (k > first_free)
|
||||
return ICE_ERR_OUT_OF_RANGE;
|
||||
|
||||
/* keep track of non-relevant fields */
|
||||
mask_sel |= 1 << (first_free - k);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user