From: Christian Brauner Date: Sat, 9 Feb 2019 11:05:46 +0000 (+0100) Subject: lxc-usernsexec: use cleanup macros X-Git-Tag: lxc-3.2.0~142^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8cc83897a0f35436f95637181cfa61902eed91f;p=thirdparty%2Flxc.git lxc-usernsexec: use cleanup macros Signed-off-by: Christian Brauner --- diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am index 35b805393..538201b51 100644 --- a/src/lxc/Makefile.am +++ b/src/lxc/Makefile.am @@ -385,10 +385,11 @@ lxc_user_nic_SOURCES = cmd/lxc_user_nic.c \ syscall_wrappers.h lxc_usernsexec_SOURCES = cmd/lxc_usernsexec.c \ conf.c conf.h \ + file_utils.c file_utils.h \ list.h \ log.c log.h \ macro.h \ - file_utils.c file_utils.h \ + memory_utils.h \ string_utils.c string_utils.h \ syscall_wrappers.h \ utils.c utils.h diff --git a/src/lxc/cmd/lxc_usernsexec.c b/src/lxc/cmd/lxc_usernsexec.c index ab0dffcff..3641d94df 100644 --- a/src/lxc/cmd/lxc_usernsexec.c +++ b/src/lxc/cmd/lxc_usernsexec.c @@ -47,6 +47,7 @@ #include "list.h" #include "log.h" #include "macro.h" +#include "memory_utils.h" #include "file_utils.h" #include "string_utils.h" #include "syscall_wrappers.h" @@ -198,13 +199,13 @@ static int parse_map(char *map) */ static int read_default_map(char *fnam, int which, char *user) { + __do_free char *line = NULL; + __do_fclose FILE *fin = NULL; size_t len; char *p1, *p2; unsigned long ul1, ul2; - FILE *fin; int ret = -1; size_t sz = 0; - char *line = NULL; struct lxc_list *tmp = NULL; struct id_map *newmap = NULL; @@ -259,16 +260,13 @@ static int read_default_map(char *fnam, int which, char *user) break; } - fclose(fin); - free(line); - return ret; } static int find_default_map(void) { + __do_free char *buf = NULL; size_t bufsize; - char *buf; struct passwd pwent; int ret = -1; struct passwd *pwentp = NULL; @@ -287,24 +285,18 @@ static int find_default_map(void) CMD_SYSERROR("Failed to find matched password record"); CMD_SYSERROR("Failed to get password record for uid %d", getuid()); - ret = -1; - goto out; + return -1; } ret = read_default_map(subuidfile, ID_TYPE_UID, pwent.pw_name); if (ret < 0) - goto out; + return -1; ret = read_default_map(subgidfile, ID_TYPE_GID, pwent.pw_name); if (ret < 0) - goto out; - - ret = 0; - -out: - free(buf); + return -1; - return ret; + return 0; } int main(int argc, char *argv[])