From c42e4225641e8f4108b79c3c98d4b43e5267774e Mon Sep 17 00:00:00 2001 From: ಚಿರಾಗ್ ನಟರಾಜ್ Date: Mon, 23 Jul 2018 17:59:16 -0400 Subject: Fix #1638 --- src/firejail/fs_whitelist.c | 54 ++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/firejail/fs_whitelist.c b/src/firejail/fs_whitelist.c index e177c3ec0..cddfaa017 100644 --- a/src/firejail/fs_whitelist.c +++ b/src/firejail/fs_whitelist.c @@ -47,33 +47,7 @@ static char *resolve_downloads(int nowhitelist_flag) { char *fname; struct stat s; - // try a well known download directory name - int i = 0; - while (dentry[i] != NULL) { - if (asprintf(&fname, "%s/%s", cfg.homedir, dentry[i]) == -1) - errExit("asprintf"); - - if (stat(fname, &s) == 0) { - if (arg_debug || arg_debug_whitelists) - printf("Downloads directory resolved as \"%s\"\n", fname); - - char *rv; - if (nowhitelist_flag) { - if (asprintf(&rv, "nowhitelist ~/%s", dentry[i]) == -1) - errExit("asprintf"); - } - else { - if (asprintf(&rv, "whitelist ~/%s", dentry[i]) == -1) - errExit("asprintf"); - } - free(fname); - return rv; - } - free(fname); - i++; - } - - // try a name form ~/.config/user-dirs.dirs + // try a name from ~/.config/user-dirs.dirs if (asprintf(&fname, "%s/.config/user-dirs.dirs", cfg.homedir) == -1) errExit("asprintf"); FILE *fp = fopen(fname, "r"); @@ -131,6 +105,32 @@ static char *resolve_downloads(int nowhitelist_flag) { } } + // try a well known download directory name + int i = 0; + while (dentry[i] != NULL) { + if (asprintf(&fname, "%s/%s", cfg.homedir, dentry[i]) == -1) + errExit("asprintf"); + + if (stat(fname, &s) == 0) { + if (arg_debug || arg_debug_whitelists) + printf("Downloads directory resolved as \"%s\"\n", fname); + + char *rv; + if (nowhitelist_flag) { + if (asprintf(&rv, "nowhitelist ~/%s", dentry[i]) == -1) + errExit("asprintf"); + } + else { + if (asprintf(&rv, "whitelist ~/%s", dentry[i]) == -1) + errExit("asprintf"); + } + free(fname); + return rv; + } + free(fname); + i++; + } + fclose(fp); return NULL; -- cgit v1.2.3-54-g00ecf