uwb: wrong sizeof argument in mac address compare
authorFrank Leipold <frank.leipold@eads.net>
Mon, 20 Oct 2008 13:37:53 +0000 (14:37 +0100)
committerDavid Vrabel <david.vrabel@csr.com>
Mon, 20 Oct 2008 13:37:53 +0000 (14:37 +0100)
In the __uwb_beca_find_bymac function the sizeof returns
the length of a pointer and not the data it is referring
to. Hence only the first 4 bytes were compared, not the
entire 6 bytes MAC address. Now the sizeof takes struct
uwb_mac_addr as argument.

Signed-off-by: Frank Leipold <frank.leipold@eads.net>
Signed-off-by: David Vrabel <david.vrabel@csr.com>
drivers/uwb/beacon.c

index c7f3c97..46b18ee 100644 (file)
@@ -207,7 +207,7 @@ struct uwb_beca_e *__uwb_beca_find_bymac(const struct uwb_mac_addr *mac_addr)
        struct uwb_beca_e *bce, *next;
        list_for_each_entry_safe(bce, next, &uwb_beca.list, node) {
                if (!memcmp(bce->mac_addr, mac_addr->data,
-                           sizeof(bce->mac_addr)))
+                           sizeof(struct uwb_mac_addr)))
                        goto out;
        }
        bce = NULL;