diff options
author | smitsohu <smitsohu@gmail.com> | 2018-10-17 18:50:09 +0200 |
---|---|---|
committer | smitsohu <smitsohu@gmail.com> | 2018-10-17 18:50:09 +0200 |
commit | d0a8395d4037ed9f0576a8d7a041e432e5c5afba (patch) | |
tree | 63b92fbc31b5b34f9bebefc586b53e7fd5eb52d9 /src/firejail/fs_home.c | |
parent | improve clean_pathname function (diff) | |
download | firejail-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.c | 2 |
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); |