Staging: ozwpan: prevent bogus dereference
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 2 Mar 2012 06:59:55 +0000 (09:59 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Mar 2012 00:32:21 +0000 (16:32 -0800)
app_id comes from the network and can't be trusted.  If it's zero then
it will lead to a kernel crash.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Chris Kelly <ckelly@ozmodevices.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ozwpan/ozpd.c

index 8c460f0..e3381ad 100644 (file)
@@ -806,7 +806,7 @@ void oz_apps_term(void)
 void oz_handle_app_elt(struct oz_pd *pd, u8 app_id, struct oz_elt *elt)
 {
        struct oz_app_if *ai;
-       if (app_id > OZ_APPID_MAX)
+       if (app_id == 0 || app_id > OZ_APPID_MAX)
                return;
        ai = &g_app_if[app_id-1];
        ai->rx(pd, elt);