Fix ANQP_GET/HS20_GET_ANQP parsing to skip space after address
authorJouni Malinen <j@w1.fi>
Wed, 10 Dec 2014 23:41:48 +0000 (01:41 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 11 Dec 2014 13:18:11 +0000 (15:18 +0200)
The space following the BSSID was not skipped properly if the following
parameter started with the "hs20:" prefix. For other cases, atoi() ended
up ignoring the space, but it is cleaner to skip it anyway for all
cases.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/ctrl_iface.c

index 2e83e05..2713d11 100644 (file)
@@ -5375,6 +5375,8 @@ static int get_anqp(struct wpa_supplicant *wpa_s, char *dst)
        if (used < 0)
                return -1;
        pos = dst + used;
+       if (*pos == ' ')
+               pos++;
        while (num_id < MAX_ANQP_INFO_ID) {
                if (os_strncmp(pos, "hs20:", 5) == 0) {
 #ifdef CONFIG_HS20
@@ -5554,6 +5556,8 @@ static int get_hs20_anqp(struct wpa_supplicant *wpa_s, char *dst)
        if (used < 0)
                return -1;
        pos = dst + used;
+       if (*pos == ' ')
+               pos++;
        for (;;) {
                int num = atoi(pos);
                if (num <= 0 || num > 31)