]> git.proxmox.com Git - mirror_lxc.git/commitdiff
lxc-usernsexec: use cleanup macros
authorChristian Brauner <christian.brauner@ubuntu.com>
Sat, 9 Feb 2019 11:05:46 +0000 (12:05 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Sun, 17 Feb 2019 13:13:44 +0000 (14:13 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/Makefile.am
src/lxc/cmd/lxc_usernsexec.c

index 35b805393f0d58551dc41c23ef4c8bc7a7207fe5..538201b517cdbdd05e3c38f2005ad19a6ac28a2f 100644 (file)
@@ -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
index ab0dffcffcbdccbd3eb3104c1d4eee9cda7a3c7a..3641d94dfb51c3220dac97583f0519eacceea082 100644 (file)
@@ -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[])