Diffstat (limited to 'noncore/settings/networksettings/wlan/wextensions.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/wlan/wextensions.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/noncore/settings/networksettings/wlan/wextensions.cpp b/noncore/settings/networksettings/wlan/wextensions.cpp index 8a9db66..64d8752 100644 --- a/noncore/settings/networksettings/wlan/wextensions.cpp +++ b/noncore/settings/networksettings/wlan/wextensions.cpp | |||
@@ -66,16 +66,19 @@ QString WExtensions::station(){ | |||
66 | * @return QString the essid of the host 802.11 access point. | 66 | * @return QString the essid of the host 802.11 access point. |
67 | */ | 67 | */ |
68 | QString WExtensions::essid(){ | 68 | QString WExtensions::essid(){ |
69 | if(!hasWirelessExtensions) | 69 | if(!hasWirelessExtensions) |
70 | return QString(); | 70 | return QString(); |
71 | const char* buffer[200]; | 71 | const char* buffer[200]; |
72 | memset(buffer,0x00,200); | ||
72 | iwr.u.data.pointer = (caddr_t) buffer; | 73 | iwr.u.data.pointer = (caddr_t) buffer; |
73 | iwr.u.data.length = IW_ESSID_MAX_SIZE; | 74 | iwr.u.data.length = IW_ESSID_MAX_SIZE; |
74 | iwr.u.data.flags = 0; | 75 | iwr.u.data.flags = 0; |
75 | if ( 0 == ioctl( fd, SIOCGIWESSID, &iwr )){ | 76 | if ( 0 == ioctl( fd, SIOCGIWESSID, &iwr )){ |
77 | if (iwr.u.essid.length > IW_ESSID_MAX_SIZE) | ||
78 | iwr.u.essid.length = IW_ESSID_MAX_SIZE; | ||
76 | buffer[(unsigned int) iwr.u.essid.length] = '\0'; | 79 | buffer[(unsigned int) iwr.u.essid.length] = '\0'; |
77 | return (const char*) buffer; | 80 | return (const char*) buffer; |
78 | } | 81 | } |
79 | return QString::null; | 82 | return QString::null; |
80 | } | 83 | } |
81 | 84 | ||