qcacld-3.0: Validate packet filter data offset
When configuring a packet filter request, ensure the provided data
offset values are less than the maximum data offset supported by
firmware.
Change-Id: I74ac672dd51245ab954457fdc87bd1e8421b3e1b
CRs-Fixed: 1101487
diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c
index b6930ed..acb129c 100644
--- a/core/hdd/src/wlan_hdd_wext.c
+++ b/core/hdd/src/wlan_hdd_wext.c
@@ -8967,6 +8967,15 @@
request->params_data[i].data_length;
packetFilterSetReq.paramsData[i].reserved = 0;
+ if (request->params_data[i].data_offset >
+ SIR_MAX_FILTER_TEST_DATA_OFFSET) {
+ hdd_err("Invalid data offset %u for param %d (max = %d)",
+ request->params_data[i].data_offset,
+ i,
+ SIR_MAX_FILTER_TEST_DATA_OFFSET);
+ return -EINVAL;
+ }
+
if (request->params_data[i].data_length >
SIR_MAX_FILTER_TEST_DATA_LEN) {
hdd_err("Error invalid data length %d",