irda: small read beyond end of array in debug code
[pandora-kernel.git] / net / irda / iriap.c
index f876eed..29340a9 100644 (file)
@@ -305,7 +305,7 @@ static void iriap_disconnect_indication(void *instance, void *sap,
 
        IRDA_DEBUG(4, "%s(), reason=%s\n", __func__, irlmp_reasons[reason]);
 
-       self = (struct iriap_cb *) instance;
+       self = instance;
 
        IRDA_ASSERT(self != NULL, return;);
        IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
@@ -495,8 +495,11 @@ static void iriap_getvaluebyclass_confirm(struct iriap_cb *self,
 /*             case CS_ISO_8859_9: */
 /*             case CS_UNICODE: */
                default:
-                       IRDA_DEBUG(0, "%s(), charset %s, not supported\n",
-                                  __func__, ias_charset_types[charset]);
+                       IRDA_DEBUG(0, "%s(), charset [%d] %s, not supported\n",
+                                  __func__, charset,
+                                  charset < ARRAY_SIZE(ias_charset_types) ?
+                                       ias_charset_types[charset] :
+                                       "(unknown)");
 
                        /* Aborting, close connection! */
                        iriap_disconnect_request(self);
@@ -759,7 +762,7 @@ static void iriap_connect_confirm(void *instance, void *sap,
 {
        struct iriap_cb *self;
 
-       self = (struct iriap_cb *) instance;
+       self = instance;
 
        IRDA_ASSERT(self != NULL, return;);
        IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
@@ -791,7 +794,7 @@ static void iriap_connect_indication(void *instance, void *sap,
 
        IRDA_DEBUG(1, "%s()\n", __func__);
 
-       self = (struct iriap_cb *) instance;
+       self = instance;
 
        IRDA_ASSERT(skb != NULL, return;);
        IRDA_ASSERT(self != NULL, goto out;);
@@ -839,7 +842,7 @@ static int iriap_data_indication(void *instance, void *sap,
 
        IRDA_DEBUG(3, "%s()\n", __func__);
 
-       self = (struct iriap_cb *) instance;
+       self = instance;
 
        IRDA_ASSERT(skb != NULL, return 0;);
        IRDA_ASSERT(self != NULL, goto out;);