From 440d8cb4bb37c20663f028e48e4470253fc1c2bb Mon Sep 17 00:00:00 2001 From: zding Date: Wed, 12 Oct 2016 14:59:02 +0800 Subject: 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 --- core/mac/src/sys/legacy/src/utils/src/parser_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- cgit v1.2.3