From: Stéphane Graber Date: Wed, 22 Jan 2014 22:14:10 +0000 (-0500) Subject: Fix handling of empty config keys X-Git-Tag: lxc-1.0.0.beta3~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2eee1b96c63c835945efc536de52d2a47be8261d;p=thirdparty%2Flxc.git Fix handling of empty config keys Signed-off-by: Stéphane Graber Acked-by: Serge E. Hallyn --- diff --git a/src/lxc/lxc_info.c b/src/lxc/lxc_info.c index 2bd695e7d..ee45c5892 100644 --- a/src/lxc/lxc_info.c +++ b/src/lxc/lxc_info.c @@ -332,7 +332,7 @@ static int print_info(const char *name, const char *lxcpath) for(i = 0; i < keys; i++) { int len = c->get_config_item(c, key[i], NULL, 0); - if (len >= 0) { + if (len > 0) { char *val = (char*) malloc(sizeof(char)*len + 1); if (c->get_config_item(c, key[i], val, len + 1) != len) { @@ -341,8 +341,10 @@ static int print_info(const char *name, const char *lxcpath) printf("%s = %s\n", key[i], val); } free(val); + } else if (len == 0) { + printf("%s =\n", key[i]); } else { - fprintf(stderr, "%s unset or invalid\n", key[i]); + fprintf(stderr, "%s invalid\n", key[i]); } } diff --git a/src/python-lxc/lxc.c b/src/python-lxc/lxc.c index 33b3e4182..05727bf00 100644 --- a/src/python-lxc/lxc.c +++ b/src/python-lxc/lxc.c @@ -843,6 +843,10 @@ Container_get_config_item(Container *self, PyObject *args, PyObject *kwds) return NULL; } + if (len == 0) { + return PyUnicode_FromString(""); + } + char* value = (char*) malloc(sizeof(char)*len + 1); if (value == NULL) return PyErr_NoMemory();