summaryrefslogtreecommitdiff
path: root/src/sysctl
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-05-12 23:36:27 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-05-19 15:26:51 +0200
commit544e146b0e2f6227e28476e36becd1019b14ef70 (patch)
tree8450917615e475793f51485c6a8be25dce0fc647 /src/sysctl
parent7f6b827f365b98965af159a5f6dc19aa3158ae4a (diff)
downloadsystemd-544e146b0e2f6227e28476e36becd1019b14ef70.tar.gz
journalctl,elsewhere: make sure --file=foo fails with sane error msg if foo is not readable
It annoyed me for quite a while that running "journalctl --file=…" on a file that is not readable failed with a "File not found" error instead of a permission error. Let's fix that. We make this work by using the GLOB_NOCHECK flag for glob() which means that files are not accessible will be returned in the array as they are instead of being filtered away. This then means that our later attemps to open the files will fail cleanly with a good error message.
Diffstat (limited to 'src/sysctl')
-rw-r--r--src/sysctl/sysctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
index 3b3305d7f6..5274cd24b3 100644
--- a/src/sysctl/sysctl.c
+++ b/src/sysctl/sysctl.c
@@ -138,7 +138,7 @@ static int apply_all(OrderedHashmap *sysctl_options) {
if (!pattern)
return log_oom();
- k = glob_extend(&paths, pattern);
+ k = glob_extend(&paths, pattern, GLOB_NOCHECK);
if (k < 0) {
if (option->ignore_failure || ERRNO_IS_PRIVILEGE(k))
log_debug_errno(k, "Failed to resolve glob '%s', ignoring: %m",