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
#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"
*/
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;
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;
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[])