From 2488e35b1c90643c447e923b4bb60eaca7465b59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Sat, 4 Jan 2020 05:50:08 +0100 Subject: [PATCH] Fix error message encoding on Python 2.x Error messages coming from Frida are UTF-8 encoded strings. --- src/_frida.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/_frida.c b/src/_frida.c index b6dfbee..9984436 100644 --- a/src/_frida.c +++ b/src/_frida.c @@ -3855,7 +3855,17 @@ PyFrida_raise (GError * error) g_string_append_unichar (message, g_unichar_tolower (g_utf8_get_char (error->message))); g_string_append (message, g_utf8_offset_to_pointer (error->message, 1)); +#if PY_MAJOR_VERSION >= 3 PyErr_SetString (exception, message->str); +#else + { + PyObject * value; + + value = PyUnicode_FromUTF8String (message->str); + PyErr_SetObject (exception, value); + Py_DECREF (value); + } +#endif g_string_free (message, TRUE); g_error_free (error);