]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Fix handling of empty config keys
authorStéphane Graber <stgraber@ubuntu.com>
Wed, 22 Jan 2014 22:14:10 +0000 (17:14 -0500)
committerStéphane Graber <stgraber@ubuntu.com>
Thu, 23 Jan 2014 00:24:47 +0000 (19:24 -0500)
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
src/lxc/lxc_info.c
src/python-lxc/lxc.c

index 2bd695e7d9ba903e28da4888b118925ae0c4d89b..ee45c589226bdbed7f086e32934a7a6d05714ee5 100644 (file)
@@ -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]);
                }
        }
 
index 33b3e41823ed3c3131453c696dbd6d37a5c94864..05727bf00419348e7a4aab11768def7f07549495 100644 (file)
@@ -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();