]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
conf: cleanup macros parse_mntopts
authorChristian Brauner <christian.brauner@ubuntu.com>
Tue, 19 Feb 2019 22:43:45 +0000 (23:43 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 19 Feb 2019 22:43:45 +0000 (23:43 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/conf.c

index 06f212fcd9f58f29b65b44aa064dc89c78b5b775..ef1d2051a8e085b07ba13913fdeb5080ec281ee4 100644 (file)
@@ -1888,7 +1888,8 @@ static void parse_mntopt(char *opt, unsigned long *flags, char **data, size_t si
 
 int parse_mntopts(const char *mntopts, unsigned long *mntflags, char **mntdata)
 {
-       char *data, *p, *s;
+       __do_free char *data = NULL, *s = NULL;
+       char *p;
        size_t size;
 
        *mntdata = NULL;
@@ -1903,20 +1904,15 @@ int parse_mntopts(const char *mntopts, unsigned long *mntflags, char **mntdata)
 
        size = strlen(s) + 1;
        data = malloc(size);
-       if (!data) {
-               free(s);
+       if (!data)
                return -1;
-       }
        *data = 0;
 
        lxc_iterate_parts(p, s, ",")
                parse_mntopt(p, mntflags, &data, size);
 
        if (*data)
-               *mntdata = data;
-       else
-               free(data);
-       free(s);
+               *mntdata = move_ptr(data);
 
        return 0;
 }