Quoting Christian Seiler (christ...@iwakd.de): > convert_tuple_to_char_pointer_array now also accepts lists and not only > tuples when converting to a C array. Other fixes: > > - some checking that it's actually a list/tuple before trying to > convert > - off-by-a-few-bytes allocation error > (sizeof(char *)*n+1 vs. sizeof(char *)*(n+1)/calloc(...)) > > Signed-off-by: Christian Seiler <christ...@iwakd.de>
Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > --- > src/python-lxc/lxc.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/src/python-lxc/lxc.c b/src/python-lxc/lxc.c > index 18f2224..ec81bbf 100644 > --- a/src/python-lxc/lxc.c > +++ b/src/python-lxc/lxc.c > @@ -34,10 +34,18 @@ typedef struct { > > char** > convert_tuple_to_char_pointer_array(PyObject *argv) { > - int argc = PyTuple_GET_SIZE(argv); > + int argc; > int i, j; > + > + /* not a list or tuple */ > + if (!PyList_Check(argv) && !PyTuple_Check(argv)) { > + PyErr_SetString(PyExc_TypeError, "Expected list or tuple."); > + return NULL; > + } > + > + argc = PySequence_Fast_GET_SIZE(argv); > > - char **result = (char**) malloc(sizeof(char*)*argc + 1); > + char **result = (char**) calloc(argc + 1, sizeof(char*)); > > if (result == NULL) { > PyErr_SetNone(PyExc_MemoryError); > @@ -45,7 +53,7 @@ convert_tuple_to_char_pointer_array(PyObject *argv) { > } > > for (i = 0; i < argc; i++) { > - PyObject *pyobj = PyTuple_GET_ITEM(argv, i); > + PyObject *pyobj = PySequence_Fast_GET_ITEM(argv, i); > assert(pyobj != NULL); > > char *str = NULL; > -- > 1.7.10.4 > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel