I found an old patch that crashed, and fixed it up.
Enjoy!
---
gsupplicant/supplicant.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 534944b..19dbb1a 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -1256,6 +1256,26 @@ static void
interface_network_removed(DBusMessageIter *iter, void *user_data)
static char *create_name(unsigned char *ssid, int ssid_len)
{
+ SUPPLICANT_DBG("%s, %i", ssid, ssid_len)
+
+ gchar *result;
+ GError *error = 0;
+ gsize bytes_written = 0;
+
+ if (g_utf8_validate((const char *)ssid, ssid_len, NULL) == TRUE)
+ return g_strndup((const char *)ssid, ssid_len);
+
+ result = g_convert_with_fallback((const char *)ssid, -1,
+ "UTF-8", "ISO-8859-1",
+ 0, 0,
+ &bytes_written, &error);
+ if (result) {
+ return result;
+ } else {
+ SUPPLICANT_DBG("Error converting to UTF-8: %s",
error->message);
+ g_error_free (error);
+ }
+
GString *string;
const gchar *remainder, *invalid;
int valid_bytes, remaining_bytes;
--
1.7.10.4
_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman