Fix ANQP_GET/HS20_GET_ANQP parsing to skip space after address
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>
This commit is contained in:
parent
7e71fbc169
commit
b68d602dc4
1 changed files with 4 additions and 0 deletions
|
@ -5375,6 +5375,8 @@ static int get_anqp(struct wpa_supplicant *wpa_s, char *dst)
|
||||||
if (used < 0)
|
if (used < 0)
|
||||||
return -1;
|
return -1;
|
||||||
pos = dst + used;
|
pos = dst + used;
|
||||||
|
if (*pos == ' ')
|
||||||
|
pos++;
|
||||||
while (num_id < MAX_ANQP_INFO_ID) {
|
while (num_id < MAX_ANQP_INFO_ID) {
|
||||||
if (os_strncmp(pos, "hs20:", 5) == 0) {
|
if (os_strncmp(pos, "hs20:", 5) == 0) {
|
||||||
#ifdef CONFIG_HS20
|
#ifdef CONFIG_HS20
|
||||||
|
@ -5554,6 +5556,8 @@ static int get_hs20_anqp(struct wpa_supplicant *wpa_s, char *dst)
|
||||||
if (used < 0)
|
if (used < 0)
|
||||||
return -1;
|
return -1;
|
||||||
pos = dst + used;
|
pos = dst + used;
|
||||||
|
if (*pos == ' ')
|
||||||
|
pos++;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
int num = atoi(pos);
|
int num = atoi(pos);
|
||||||
if (num <= 0 || num > 31)
|
if (num <= 0 || num > 31)
|
||||||
|
|
Loading…
Add table
Reference in a new issue