else
{
_essid = Marshal.PtrToStringAnsi(strPtr);
+ Interop.Libc.Free(strPtr);
}
}
return _essid;
{
get
{
+ string bssid;
IntPtr strPtr;
int ret = Interop.WiFi.AP.GetBssid(_apHandle, out strPtr);
if (ret != (int)WiFiError.None)
{
Log.Error(Globals.LogTag, "Failed to get bssid, Error - " + (WiFiError)ret);
- return "";
+ bssid = "";
}
- return Marshal.PtrToStringAnsi(strPtr);
+ else
+ {
+ bssid = Marshal.PtrToStringAnsi(strPtr);
+ Interop.Libc.Free(strPtr);
+ }
+ return bssid;
}
}
{
get
{
+ string proxy;
IntPtr strPtr;
int ret = Interop.WiFi.AP.GetProxyAddress(_apHandle, (int)AddressFamily.IPv4, out strPtr);
if (ret != (int)WiFiError.None)
{
Log.Error(Globals.LogTag, "Failed to get proxy address, Error - " + (WiFiError)ret);
- return "";
+ proxy = "";
+ }
+ else
+ {
+ proxy = Marshal.PtrToStringAnsi(strPtr);
+ Interop.Libc.Free(strPtr);
}
- return Marshal.PtrToStringAnsi(strPtr);
+ return proxy;
}
set
{
Log.Error(Globals.LogTag, "Failed to get essid, Error - " + (WiFiError)ret);
}
_essid = Marshal.PtrToStringAnsi(strPtr);
+ Interop.Libc.Free(strPtr);
}
} //WiFiNetworkInformation
}