summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzding <zding@codeaurora.org>2016-10-12 14:59:02 +0800
committerqcabuildsw <qcabuildsw@localhost>2016-11-03 19:33:04 -0700
commit440d8cb4bb37c20663f028e48e4470253fc1c2bb (patch)
treec8492f893a61967c7b8d3b0f6e5b10dd1c0fc238
parent32e367fdd5be9fffb5c9a7ee218694d762254fca (diff)
qcacld-3.0: Add presence check for structure tDot11fQosMapConfigure
qcacld-2.0 to qcacld-3.0 propagation Current logic use the "not present" structure tDot11fQosMapConfigure to calculate the array index which lead to the array overflow and crash of VosMCThread. Add check code to avoid this problem. Change-Id: Ifa08b24a06e409fed1bd445574127fef02f21d19 CRs-Fixed: 978582
-rw-r--r--core/mac/src/sys/legacy/src/utils/src/parser_api.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c
index bcd2a32c7310..4ecc5eb2cdb7 100644
--- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c
+++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c
@@ -4636,7 +4636,7 @@ sir_convert_qos_map_configure_frame2_struct(tpAniSirGlobal pMac,
uint32_t status;
status =
dot11f_unpack_qos_map_configure(pMac, pFrame, nFrame, &mapConfigure);
- if (DOT11F_FAILED(status)) {
+ if (DOT11F_FAILED(status) || !mapConfigure.QosMapSet.present) {
dot11f_log(pMac, LOGE,
FL("Failed to parse Qos Map Configure frame (0x%08x, %d bytes):"),
status, nFrame);