Fixed sparse warnings about integer vs. pointer use

The configuration parsing functions seemed to have worked fine before,
but these were real bugs even if they did not show up in practice.
hostapd_ip_diff() was broken for IPv6 addresses (overwrote address and
always returned 1.
master
Jouni Malinen 16 years ago
parent d953d9ab80
commit 5306f43fc3

@ -411,7 +411,7 @@ static int hostapd_config_read_wpa_psk(const char *fname,
os_memcpy(psk->addr, addr, ETH_ALEN);
pos = buf + 17;
if (pos == '\0') {
if (*pos == '\0') {
printf("No PSK on line %d in '%s'\n", line, fname);
os_free(psk);
ret = -1;
@ -800,7 +800,7 @@ static int hostapd_config_parse_key_mgmt(int line, const char *value)
return -1;
start = buf;
while (start != '\0') {
while (*start != '\0') {
while (*start == ' ' || *start == '\t')
start++;
if (*start == '\0')
@ -858,7 +858,7 @@ static int hostapd_config_parse_cipher(int line, const char *value)
return -1;
start = buf;
while (start != '\0') {
while (*start != '\0') {
while (*start == ' ' || *start == '\t')
start++;
if (*start == '\0')

@ -53,8 +53,7 @@ int hostapd_ip_diff(struct hostapd_ip_addr *a, struct hostapd_ip_addr *b)
break;
#ifdef CONFIG_IPV6
case AF_INET6:
if (os_memcpy(&a->u.v6, &b->u.v6, sizeof(a->u.v6))
!= 0)
if (os_memcmp(&a->u.v6, &b->u.v6, sizeof(a->u.v6)) != 0)
return 1;
break;
#endif /* CONFIG_IPV6 */

Loading…
Cancel
Save