IBSS RSN: Explicitly check addr != NULL before passing it to memcmp
authorJouni Malinen <j@w1.fi>
Sun, 10 Jan 2010 19:53:17 +0000 (21:53 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 10 Jan 2010 19:53:17 +0000 (21:53 +0200)
idx == 0 should be enough to make sure that the addr is set, but
verify that this is indeed the case to avoid any potential issues if
auth_set_key() gets called incorrectly.

wpa_supplicant/ibss_rsn.c

index 8907600..0e33253 100644 (file)
@@ -261,7 +261,8 @@ static int auth_set_key(void *ctx, int vlan_id, enum wpa_alg alg,
                 * In IBSS RSN, the pairwise key from the 4-way handshake
                 * initiated by the peer with highest MAC address is used.
                 */
-               if (os_memcmp(ibss_rsn->wpa_s->own_addr, addr, ETH_ALEN) < 0) {
+               if (addr == NULL ||
+                   os_memcmp(ibss_rsn->wpa_s->own_addr, addr, ETH_ALEN) < 0) {
                        wpa_printf(MSG_DEBUG, "AUTH: Do not use this PTK");
                        return 0;
                }