/*
* python-lxc: Python bindings for LXC
*
- * (C) Copyright Canonical Ltd. 2012
+ * (C) Copyright Canonical Ltd. 2012-2013
*
* Authors:
* Stéphane Graber <stgraber@ubuntu.com>
PyObject *pyobj = PyTuple_GetItem(argv, i);
char *str = NULL;
- PyObject *pystr;
+ PyObject *pystr = NULL;
if (!PyUnicode_Check(pyobj)) {
PyErr_SetString(PyExc_ValueError, "Expected a string");
+ free(result);
return NULL;
}
static void
Container_dealloc(Container* self)
{
+ lxc_container_put(self->container);
Py_TYPE(self)->tp_free((PyObject*)self);
}
}
if (self->container->create(self->container, template_name, create_args)) {
+ free(create_args);
Py_RETURN_TRUE;
}
+ free(create_args);
Py_RETURN_FALSE;
}
static char *kwlist[] = {"key", NULL};
char* key = NULL;
int len = 0;
+ PyObject *ret = NULL;
if (! PyArg_ParseTupleAndKeywords(args, kwds, "s|", kwlist,
&key))
char* value = (char*) malloc(sizeof(char)*len + 1);
if (self->container->get_cgroup_item(self->container, key, value, len + 1) != len) {
+ free(value);
Py_RETURN_FALSE;
}
- return PyUnicode_FromString(value);
+ ret = PyUnicode_FromString(value);
+ free(value);
+ return ret;
}
static PyObject *
static char *kwlist[] = {"key", NULL};
char* key = NULL;
int len = 0;
+ PyObject *ret = NULL;
if (! PyArg_ParseTupleAndKeywords(args, kwds, "s|", kwlist,
&key))
char* value = (char*) malloc(sizeof(char)*len + 1);
if (self->container->get_config_item(self->container, key, value, len + 1) != len) {
+ free(value);
Py_RETURN_FALSE;
}
- return PyUnicode_FromString(value);
+ ret = PyUnicode_FromString(value);
+ free(value);
+ return ret;
}
static PyObject *
static char *kwlist[] = {"key", NULL};
char* key = NULL;
int len = 0;
+ PyObject *ret = NULL;
if (! PyArg_ParseTupleAndKeywords(args, kwds, "|s", kwlist,
&key))
char* value = (char*) malloc(sizeof(char)*len + 1);
if (self->container->get_keys(self->container, key, value, len + 1) != len) {
+ free(value);
Py_RETURN_FALSE;
}
- return PyUnicode_FromString(value);
+ ret = PyUnicode_FromString(value);
+ free(value);
+ return ret;
}
static PyObject *
self->container->want_daemonize(self->container);
if (self->container->start(self->container, init_useinit, init_args)) {
+ free(init_args);
Py_RETURN_TRUE;
}
+ free(init_args);
Py_RETURN_FALSE;
}