diff options
author | Brad Bishop <bradleyb@us.ibm.com> | 2015-11-17 22:43:42 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@us.ibm.com> | 2015-11-17 22:43:42 -0500 |
commit | 3579dc63b8ab8e12fe6078937449f48ab3b9d66c (patch) | |
tree | 161729158b4cb3c06fcfd56eafa1661b81987084 /meta-phosphor/common/recipes-devtools/python | |
parent | 95f7347307084d281967f6602a9ed7be1b2b908d (diff) | |
download | talos-openbmc-3579dc63b8ab8e12fe6078937449f48ab3b9d66c.tar.gz talos-openbmc-3579dc63b8ab8e12fe6078937449f48ab3b9d66c.zip |
python-dbus dbus.Byte.__str__ produces broken utf8
Byte to string simply copied the byte, which isn't valid
utf8 for non ascii values. Since dbus.byte is an int subclass,
should just be using int's __str__ implementation anyway.
Diffstat (limited to 'meta-phosphor/common/recipes-devtools/python')
-rw-r--r-- | meta-phosphor/common/recipes-devtools/python/python-dbus/bytes.patch | 37 | ||||
-rw-r--r-- | meta-phosphor/common/recipes-devtools/python/python-dbus_1.2.0.bbappend | 2 |
2 files changed, 39 insertions, 0 deletions
diff --git a/meta-phosphor/common/recipes-devtools/python/python-dbus/bytes.patch b/meta-phosphor/common/recipes-devtools/python/python-dbus/bytes.patch new file mode 100644 index 000000000..d8a10a063 --- /dev/null +++ b/meta-phosphor/common/recipes-devtools/python/python-dbus/bytes.patch @@ -0,0 +1,37 @@ +Index: dbus-python-1.2.0/_dbus_bindings/bytes.c +=================================================================== +--- dbus-python-1.2.0.orig/_dbus_bindings/bytes.c ++++ dbus-python-1.2.0/_dbus_bindings/bytes.c +@@ -138,23 +138,6 @@ bad_range: + return NULL; + } + +-static PyObject * +-Byte_tp_str(PyObject *self) +-{ +- long i = NATIVEINT_ASLONG(self); +- unsigned char str[2] = { 0, 0 }; +- +- if (i == -1 && PyErr_Occurred()) +- return NULL; +- if (i < 0 || i > 255) { +- PyErr_SetString(PyExc_RuntimeError, "Integer outside range 0-255"); +- return NULL; +- } +- +- str[0] = (unsigned char)i; +- return PyUnicode_FromStringAndSize((char *)str, 1); +-} +- + PyTypeObject DBusPyByte_Type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "dbus.Byte", +@@ -171,7 +154,7 @@ PyTypeObject DBusPyByte_Type = { + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ +- Byte_tp_str, /* tp_str */ ++ 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ diff --git a/meta-phosphor/common/recipes-devtools/python/python-dbus_1.2.0.bbappend b/meta-phosphor/common/recipes-devtools/python/python-dbus_1.2.0.bbappend new file mode 100644 index 000000000..57d5ef46e --- /dev/null +++ b/meta-phosphor/common/recipes-devtools/python/python-dbus_1.2.0.bbappend @@ -0,0 +1,2 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI += "file://bytes.patch" |