aboutsummaryrefslogtreecommitdiffstats
path: root/src/firejail/fs_home.c
diff options
context:
space:
mode:
authorLibravatar smitsohu <smitsohu@gmail.com>2018-10-17 18:50:09 +0200
committerLibravatar smitsohu <smitsohu@gmail.com>2018-10-17 18:50:09 +0200
commitd0a8395d4037ed9f0576a8d7a041e432e5c5afba (patch)
tree63b92fbc31b5b34f9bebefc586b53e7fd5eb52d9 /src/firejail/fs_home.c
parentimprove clean_pathname function (diff)
downloadfirejail-d0a8395d4037ed9f0576a8d7a041e432e5c5afba.tar.gz
firejail-d0a8395d4037ed9f0576a8d7a041e432e5c5afba.tar.zst
firejail-d0a8395d4037ed9f0576a8d7a041e432e5c5afba.zip
improve some error messages
Diffstat (limited to 'src/firejail/fs_home.c')
-rw-r--r--src/firejail/fs_home.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/firejail/fs_home.c b/src/firejail/fs_home.c
index 47261d7c1..10232fa6e 100644
--- a/src/firejail/fs_home.c
+++ b/src/firejail/fs_home.c
@@ -393,6 +393,8 @@ static char *check_dir_or_file(const char *name) {
393 // we allow only files in user home directory or symbolic links to files or directories owned by the user 393 // we allow only files in user home directory or symbolic links to files or directories owned by the user
394 struct stat s; 394 struct stat s;
395 if (lstat(fname, &s) == 0 && S_ISLNK(s.st_mode)) { 395 if (lstat(fname, &s) == 0 && S_ISLNK(s.st_mode)) {
396 if (strncmp(fname, cfg.homedir, strlen(cfg.homedir)) != 0 || fname[strlen(cfg.homedir)] != '/')
397 goto errexit;
396 if (stat(fname, &s) == 0) { 398 if (stat(fname, &s) == 0) {
397 if (s.st_uid != getuid()) { 399 if (s.st_uid != getuid()) {
398 fprintf(stderr, "Error: symbolic link %s to file or directory not owned by the user\n", fname); 400 fprintf(stderr, "Error: symbolic link %s to file or directory not owned by the user\n", fname);