Quoting Stéphane Graber (stgra...@ubuntu.com): > The previous change used some 3.3-specific functions. > We still support 3.2 so revert to 3.2-compatible calls. > > Reported-by: S.Çağlar Onur <cag...@10ur.org> > Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > --- > src/python-lxc/lxc.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/src/python-lxc/lxc.c b/src/python-lxc/lxc.c > index 85710d6..4e9fde7 100644 > --- a/src/python-lxc/lxc.c > +++ b/src/python-lxc/lxc.c > @@ -49,18 +49,27 @@ convert_tuple_to_char_pointer_array(PyObject *argv) { > assert(pyobj != NULL); > > char *str = NULL; > + PyObject *pystr = NULL; > > if (!PyUnicode_Check(pyobj)) { > PyErr_SetString(PyExc_ValueError, "Expected a string"); > goto error; > } > > - str = PyUnicode_AsUTF8(pyobj); > - if (!str) { > + pystr = PyUnicode_AsUTF8String(pyobj); > + if (!pystr) { > /* Maybe it wasn't UTF-8 encoded. An exception is already set. > */ > goto error; > } > > + str = PyBytes_AsString(pystr); > + if (!str) { > + /* Maybe pystr wasn't a valid object. An exception is already > set. > + */ > + Py_DECREF(pystr); > + goto error; > + } > + > /* We must make a copy of str, because it points into internal memory > * which we do not own. Assume it's NULL terminated, otherwise we'd > * have to use PyUnicode_AsUTF8AndSize() and be explicit about > copying > @@ -71,6 +80,7 @@ convert_tuple_to_char_pointer_array(PyObject *argv) { > /* Do not decref pyobj since we stole a reference by using > * PyTuple_GET_ITEM(). > */ > + Py_DECREF(pystr); > if (result[i] == NULL) { > PyErr_SetNone(PyExc_MemoryError); > goto error; > -- > 1.8.1.2 > > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel