Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
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;
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;
}