|
@@ -2293,8 +2293,11 @@ util_get_ml_bv_partner_link_info(struct wlan_objmgr_pdev *pdev,
|
|
|
}
|
|
|
|
|
|
scan_entry->ml_info.num_links = link_idx;
|
|
|
- if (!offset)
|
|
|
+ if (!offset ||
|
|
|
+ (offset + sizeof(struct wlan_ml_bv_linfo_perstaprof) >= ml_ie_len)) {
|
|
|
+ scm_err_rl("incorrect offset value %d", offset);
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
/* TODO: loop through all the STA info fields */
|
|
|
|
|
@@ -2338,6 +2341,10 @@ util_get_ml_bv_partner_link_info(struct wlan_objmgr_pdev *pdev,
|
|
|
|
|
|
/* Skip STA Info Length field */
|
|
|
offset += perstaprof_stainfo_len;
|
|
|
+ if (offset >= ml_ie_len) {
|
|
|
+ scm_err_rl("incorrect offset value %d", offset);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
|
* To point to the ie_list offset move past the STA Info
|