From: Christian Brauner Date: Tue, 19 Feb 2019 22:43:45 +0000 (+0100) Subject: conf: cleanup macros parse_mntopts X-Git-Tag: lxc-3.2.0~132^2~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a71f619c16e38bf050a9697f74b5b73f3fa24ff0;p=thirdparty%2Flxc.git conf: cleanup macros parse_mntopts Signed-off-by: Christian Brauner --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 06f212fcd..ef1d2051a 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -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; }