2018-09-27 21:20:38

by Aymen Qader

[permalink] [raw]
Subject: [PATCH v2] staging: rtl8188eu: Skip unnecessary field checks

Skip unnecessary request field checks when the information element
pointer is null.

Signed-off-by: Aymen Qader <[email protected]>
---
v2: combine pointer check and length check & change commit message to be
more appropriate

drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
index 834053a0ae9d..4d55bbdf8fb7 100644
--- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
@@ -2971,11 +2971,11 @@ static unsigned int OnAssocReq(struct adapter *padapter,
/* checking SSID */
p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, _SSID_IE_, &ie_len,
pkt_len - WLAN_HDR_A3_LEN - ie_offset);
- if (!p)
- status = _STATS_FAILURE_;

- if (ie_len == 0) { /* broadcast ssid, however it is not allowed in assocreq */
+ if (!p || ie_len == 0) {
+ /* broadcast ssid, however it is not allowed in assocreq */
status = _STATS_FAILURE_;
+ goto OnAssocReqFail;
} else {
/* check if ssid match */
if (memcmp((void *)(p+2), cur->Ssid.Ssid, cur->Ssid.SsidLength))
--
2.17.1



2018-09-27 22:05:10

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH v2] staging: rtl8188eu: Skip unnecessary field checks

On 9/27/18 4:19 PM, Aymen Qader wrote:
> Skip unnecessary request field checks when the information element
> pointer is null.
>
> Signed-off-by: Aymen Qader <[email protected]>
> ---
> v2: combine pointer check and length check & change commit message to be
> more appropriate
>
> drivers/staging/rtl8188eu/core/rtw_mlme_ext.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
> index 834053a0ae9d..4d55bbdf8fb7 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
> @@ -2971,11 +2971,11 @@ static unsigned int OnAssocReq(struct adapter *padapter,
> /* checking SSID */
> p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, _SSID_IE_, &ie_len,
> pkt_len - WLAN_HDR_A3_LEN - ie_offset);
> - if (!p)
> - status = _STATS_FAILURE_;
>
> - if (ie_len == 0) { /* broadcast ssid, however it is not allowed in assocreq */
> + if (!p || ie_len == 0) {
> + /* broadcast ssid, however it is not allowed in assocreq */
> status = _STATS_FAILURE_;
> + goto OnAssocReqFail;
> } else {
> /* check if ssid match */
> if (memcmp((void *)(p+2), cur->Ssid.Ssid, cur->Ssid.SsidLength))
>

ACKed-by: Larry Finger <[email protected]>