hostapd: Fix parsing the das_client option
authorFelix Fietkau <nbd@nbd.name>
Tue, 26 Jul 2016 11:29:37 +0000 (13:29 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 13 Aug 2016 07:48:28 +0000 (10:48 +0300)
The musl implementation of inet_aton() returns an error if there are any
characters left after the IP address. When parsing the das_client, split
the string at the whitespace separator to be able to parse the address
successfully.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
hostapd/config_file.c

index 6c53151..1b506a7 100644 (file)
@@ -636,8 +636,7 @@ hostapd_parse_radius_attr(const char *value)
 }
 
 
-static int hostapd_parse_das_client(struct hostapd_bss_config *bss,
-                                   const char *val)
+static int hostapd_parse_das_client(struct hostapd_bss_config *bss, char *val)
 {
        char *secret;
 
@@ -645,7 +644,7 @@ static int hostapd_parse_das_client(struct hostapd_bss_config *bss,
        if (secret == NULL)
                return -1;
 
-       secret++;
+       *secret++ = '\0';
 
        if (hostapd_parse_ip_addr(val, &bss->radius_das_client_addr))
                return -1;