/*  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 == NULL) {
-               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_;
-       else {
+               goto OnAssocReqFail;
+       } else {
                /*  check if ssid match */
                if (memcmp((void *)(p+2), cur->Ssid.Ssid, cur->Ssid.SsidLength))
                        status = _STATS_FAILURE_;