diff options
Diffstat (limited to 'src/firejail/util.c')
-rw-r--r-- | src/firejail/util.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/firejail/util.c b/src/firejail/util.c index 9af41ffe2..8c474f966 100644 --- a/src/firejail/util.c +++ b/src/firejail/util.c | |||
@@ -961,7 +961,8 @@ void flush_stdin(void) { | |||
961 | } | 961 | } |
962 | } | 962 | } |
963 | 963 | ||
964 | void create_empty_dir_as_user(const char *dir, mode_t mode) { | 964 | // return 1 if new directory was created, else return 0 |
965 | int create_empty_dir_as_user(const char *dir, mode_t mode) { | ||
965 | assert(dir); | 966 | assert(dir); |
966 | mode &= 07777; | 967 | mode &= 07777; |
967 | struct stat s; | 968 | struct stat s; |
@@ -980,7 +981,7 @@ void create_empty_dir_as_user(const char *dir, mode_t mode) { | |||
980 | if (chmod(dir, mode) == -1) | 981 | if (chmod(dir, mode) == -1) |
981 | {;} // do nothing | 982 | {;} // do nothing |
982 | } | 983 | } |
983 | else if (errno != EEXIST && arg_debug) { | 984 | else if (arg_debug) { |
984 | char *str; | 985 | char *str; |
985 | if (asprintf(&str, "Directory %s not created", dir) == -1) | 986 | if (asprintf(&str, "Directory %s not created", dir) == -1) |
986 | errExit("asprintf"); | 987 | errExit("asprintf"); |
@@ -993,8 +994,9 @@ void create_empty_dir_as_user(const char *dir, mode_t mode) { | |||
993 | } | 994 | } |
994 | waitpid(child, NULL, 0); | 995 | waitpid(child, NULL, 0); |
995 | if (stat(dir, &s) == 0) | 996 | if (stat(dir, &s) == 0) |
996 | fs_logger2("create", dir); | 997 | return 1; |
997 | } | 998 | } |
999 | return 0; | ||
998 | } | 1000 | } |
999 | 1001 | ||
1000 | void create_empty_dir_as_root(const char *dir, mode_t mode) { | 1002 | void create_empty_dir_as_root(const char *dir, mode_t mode) { |