mirror of
https://github.com/berlin-open-wireless-lab/DAWN.git
synced 2025-03-09 15:40:12 +00:00
storage: ensure SSID strings are NULL-terminated
SSID_MAX_LEN is set at 32, which is the maximum allowed size of a SSID. The strings holding SSIDs were set at that same size, which does not allow for proper string termination. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
This commit is contained in:
parent
8ce09d64de
commit
a22f5a79d6
4 changed files with 5 additions and 5 deletions
|
|
@ -281,8 +281,7 @@ int get_ssid(const char *ifname, char* ssid, size_t ssidmax) {
|
|||
if (iw->ssid(ifname, buf))
|
||||
memset(buf, 0, sizeof(buf));
|
||||
|
||||
memcpy(ssid, buf, ssidmax);
|
||||
strcpy(ssid, buf);
|
||||
strncpy(ssid, buf, ssidmax);
|
||||
iwinfo_finish();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ struct hostapd_sock_entry {
|
|||
char iface_name[MAX_INTERFACE_NAME];
|
||||
char hostname[HOST_NAME_MAX];
|
||||
struct dawn_mac bssid_addr;
|
||||
char ssid[SSID_MAX_LEN];
|
||||
char ssid[SSID_MAX_LEN + 1];
|
||||
uint8_t ht_support;
|
||||
uint8_t vht_support;
|
||||
uint64_t last_channel_time;
|
||||
|
|
@ -1214,6 +1214,7 @@ bool subscribe(struct hostapd_sock_entry *hostapd_entry) {
|
|||
|
||||
get_bssid(hostapd_entry->iface_name, hostapd_entry->bssid_addr.u8);
|
||||
get_ssid(hostapd_entry->iface_name, hostapd_entry->ssid, (SSID_MAX_LEN) * sizeof(char));
|
||||
hostapd_entry->ssid[SSID_MAX_LEN] = '\0';
|
||||
|
||||
hostapd_entry->ht_support = (uint8_t) support_ht(hostapd_entry->iface_name);
|
||||
hostapd_entry->vht_support = (uint8_t) support_vht(hostapd_entry->iface_name);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue