mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-28 18:28:23 -05:00
Fix memory leaks on wpa_config_parse_string() error paths
hostapd configuration parser did not free the temporary buffer on some error paths. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
a0b728b7e2
commit
b2e32cde83
@ -1679,6 +1679,7 @@ static int hs20_parse_osu_ssid(struct hostapd_bss_config *bss,
|
||||
str = wpa_config_parse_string(pos, &slen);
|
||||
if (str == NULL || slen < 1 || slen > HOSTAPD_MAX_SSID_LEN) {
|
||||
wpa_printf(MSG_ERROR, "Line %d: Invalid SSID '%s'", line, pos);
|
||||
os_free(str);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -1893,12 +1894,12 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||
if (str == NULL || slen < 1 || slen > HOSTAPD_MAX_SSID_LEN) {
|
||||
wpa_printf(MSG_ERROR, "Line %d: invalid SSID '%s'",
|
||||
line, pos);
|
||||
os_free(str);
|
||||
return 1;
|
||||
} else {
|
||||
os_memcpy(bss->ssid.ssid, str, slen);
|
||||
bss->ssid.ssid_len = slen;
|
||||
bss->ssid.ssid_set = 1;
|
||||
}
|
||||
os_memcpy(bss->ssid.ssid, str, slen);
|
||||
bss->ssid.ssid_len = slen;
|
||||
bss->ssid.ssid_set = 1;
|
||||
os_free(str);
|
||||
} else if (os_strcmp(buf, "utf8_ssid") == 0) {
|
||||
bss->ssid.utf8_ssid = atoi(pos) > 0;
|
||||
|
Loading…
Reference in New Issue
Block a user