[lxc-devel] [PATCH] Fix handling of empty config keys
Stéphane Graber
stgraber at ubuntu.com
Wed Jan 22 23:32:15 UTC 2014
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
src/lxc/lxc_info.c | 6 ++++--
src/python-lxc/lxc.c | 4 ++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/lxc/lxc_info.c b/src/lxc/lxc_info.c
index 2bd695e..ee45c58 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 33b3e41..05727bf 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();
--
1.8.5.3
More information about the lxc-devel
mailing list