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
This commit is contained in:
@@ -8967,6 +8967,15 @@ static int wlan_hdd_set_filter(hdd_context_t *hdd_ctx,
|
||||
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",
|
||||
|
@@ -3083,6 +3083,7 @@ typedef struct sSirRoamOffloadScanRsp {
|
||||
Packet Filtering Parameters
|
||||
---------------------------------------------------------------------------*/
|
||||
#define SIR_MAX_FILTER_TEST_DATA_LEN 8
|
||||
#define SIR_MAX_FILTER_TEST_DATA_OFFSET 200
|
||||
#define SIR_MAX_NUM_MULTICAST_ADDRESS 240
|
||||
#define SIR_MAX_NUM_FILTERS 20
|
||||
#define SIR_MAX_NUM_TESTS_PER_FILTER 10
|
||||
|
Reference in New Issue
Block a user