]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix copy-paste bug in p2p_serv_disc_resp handling
authorJouni Malinen <j@w1.fi>
Sun, 31 Oct 2010 10:17:30 +0000 (12:17 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 31 Oct 2010 10:17:30 +0000 (12:17 +0200)
The destination address for p2p_serv_disc_resp must always be set
to an individual MAC address unlike p2p_serv_disc_req which may use
00:00:00:00:00:00 to indicate wildcard query. As such, we should not
try to check for this special case here.

wpa_supplicant/ctrl_iface.c

index 8a2395abdb33ec3d79d75adc2158ae4cfe325e74..bcf544b39270040c1d3a32361b53602f734bfb76 100644 (file)
@@ -2116,7 +2116,7 @@ static int p2p_ctrl_serv_disc_cancel_req(struct wpa_supplicant *wpa_s,
 static int p2p_ctrl_serv_disc_resp(struct wpa_supplicant *wpa_s, char *cmd)
 {
        int freq;
-       u8 dst_buf[ETH_ALEN], *dst;
+       u8 dst[ETH_ALEN];
        u8 dialog_token;
        struct wpabuf *resp_tlvs;
        char *pos, *pos2;
@@ -2130,12 +2130,8 @@ static int p2p_ctrl_serv_disc_resp(struct wpa_supplicant *wpa_s, char *cmd)
        if (freq == 0)
                return -1;
 
-       if (hwaddr_aton(pos, dst_buf))
+       if (hwaddr_aton(pos, dst))
                return -1;
-       dst = dst_buf;
-       if (dst[0] == 0 && dst[1] == 0 && dst[2] == 0 &&
-           dst[3] == 0 && dst[4] == 0 && dst[5] == 0)
-               dst = NULL;
        pos += 17;
        if (*pos != ' ')
                return -1;