ipacm: Fix KW issue
Add check to prevent access of invalid
array index.
Change-Id: I95fbb1992a944b91f31e7bb1ee4bf5642d7e31fd
diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp
index 871b957..71b397b 100644
--- a/ipacm/src/IPACM_Lan.cpp
+++ b/ipacm/src/IPACM_Lan.cpp
@@ -3331,7 +3331,8 @@
#ifdef FEATURE_IPACM_HAL
/* add prefix equation in modem UL rules */
- if(iptype == IPA_IP_v4 && flt_rule_entry.rule.eq_attrib.num_offset_meq_32 < IPA_IPFLTR_NUM_MEQ_32_EQNS)
+ if(iptype == IPA_IP_v4 && (flt_rule_entry.rule.eq_attrib.num_offset_meq_32 >= 0)
+ && (flt_rule_entry.rule.eq_attrib.num_offset_meq_32 < IPA_IPFLTR_NUM_MEQ_32_EQNS))
{
flt_rule_entry.rule.eq_attrib.num_offset_meq_32++;
eq_index = flt_rule_entry.rule.eq_attrib.num_offset_meq_32 - 1;
@@ -3365,7 +3366,9 @@
}
else
{
- if (flt_rule_entry.rule.eq_attrib.num_offset_meq_128 < IPA_IPFLTR_NUM_MEQ_128_EQNS)
+ if ((flt_rule_entry.rule.eq_attrib.num_offset_meq_128 >= 0) &&
+ (flt_rule_entry.rule.eq_attrib.num_offset_meq_128
+ < IPA_IPFLTR_NUM_MEQ_128_EQNS))
{
flt_rule_entry.rule.eq_attrib.num_offset_meq_128++;
eq_index = flt_rule_entry.rule.eq_attrib.num_offset_meq_128 - 1;