[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