wlan: Check for return codes of dot11f_unpack functions
Add checks for return codes of dot11f_unpack functions.
Change-Id: I56149a2a767a9f13009710750a0588c0d658eb56
CRs-Fixed: 2213317
diff --git a/CORE/HDD/src/wlan_hdd_scan.c b/CORE/HDD/src/wlan_hdd_scan.c
index 33deb6d..ffa4590 100644
--- a/CORE/HDD/src/wlan_hdd_scan.c
+++ b/CORE/HDD/src/wlan_hdd_scan.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -214,6 +214,7 @@
int error;
char custom[MAX_CUSTOM_LEN];
char *p;
+ tANI_U32 status;
hddLog( LOG1, "hdd_IndicateScanResult " MAC_ADDRESS_STR,
MAC_ADDR_ARRAY(descriptor->bssId));
@@ -342,8 +343,15 @@
pDot11IEHTCaps = NULL;
- dot11fUnpackBeaconIEs ((tpAniSirGlobal)
+ status = dot11fUnpackBeaconIEs ((tpAniSirGlobal)
hHal, (tANI_U8 *) descriptor->ieFields, ie_length, &dot11BeaconIEs);
+ if (DOT11F_FAILED(status))
+ {
+ hddLog(LOGE,
+ FL("unpack failed for Beacon IE status:(0x%08x)"),
+ status);
+ return -EINVAL;
+ }
pDot11SSID = &dot11BeaconIEs.SSID;