isdn/gigaset: fix NULL pointer dereference
authorTilman Schmidt <tilman@imap.cc>
Sat, 11 Oct 2014 11:46:29 +0000 (13:46 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Oct 2014 19:05:33 +0000 (15:05 -0400)
In do_action, a NULL pointer might be passed to function start_dial
which will dereference it.
Fix by adding a check for NULL before the call.

Spotted with Coverity.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/gigaset/ev-layer.c

index dcae14a..0f699eb 100644 (file)
@@ -1380,6 +1380,11 @@ static void do_action(int action, struct cardstate *cs,
        /* events from the LL */
 
        case ACT_DIAL:
+               if (!ev->ptr) {
+                       *p_genresp = 1;
+                       *p_resp_code = RSP_ERROR;
+                       break;
+               }
                start_dial(at_state, ev->ptr, ev->parameter);
                break;
        case ACT_ACCEPT: