staging: rtl8188eu: core: fix null dereference on exit path in rtw_mlme.c
authorJiayi Ye <yejiayily@gmail.com>
Thu, 23 Oct 2014 14:05:10 +0000 (22:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Oct 2014 02:33:05 +0000 (10:33 +0800)
If adapter is null, null dereference may occur. This patch fixes it.
The following Coccinelle semantic patch was used to find the case.

@@
expression E, E1;
identifier f;
statement S1,S2,S3;
@@

* if (E == NULL)
{
 ... when != if (E == NULL) S1 else S2
     when != E = E1
* E->f
 ... when any
 return ...;
}
else S3

Signed-off-by: Jiayi Ye <yejiayily@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8188eu/core/rtw_mlme.c

index 149c271e966dbc91a2288b4b33f43ecaf3522a77..bbebe67a77db83d36233d58160151877970661c5 100644 (file)
@@ -1437,7 +1437,7 @@ void rtw_dynamic_check_timer_handlder(void *function_context)
        struct registry_priv *pregistrypriv = &adapter->registrypriv;
 
        if (!adapter)
-               goto exit;
+               return;
        if (!adapter->hw_init_completed)
                goto exit;
        if ((adapter->bDriverStopped) || (adapter->bSurpriseRemoved))