diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c index a739fa8aafc..5c13134b308 100644 --- a/src/journal/sd-journal.c +++ b/src/journal/sd-journal.c @@ -1626,9 +1626,10 @@ static int add_directory( !((dirname && dirname_is_machine_id(dirname) > 0) || path_has_prefix(j, path, "/run"))) return 0; - if (!(FLAGS_SET(j->flags, SD_JOURNAL_ALL_NAMESPACES) || - dirname_has_namespace(dirname, j->namespace) > 0 || - (FLAGS_SET(j->flags, SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE) && dirname_has_namespace(dirname, NULL) > 0))) + if (dirname && + (!(FLAGS_SET(j->flags, SD_JOURNAL_ALL_NAMESPACES) || + dirname_has_namespace(dirname, j->namespace) > 0 || + (FLAGS_SET(j->flags, SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE) && dirname_has_namespace(dirname, NULL) > 0)))) return 0; r = directory_open(j, path, &d); diff --git a/test/units/testsuite-04.sh b/test/units/testsuite-04.sh index 1431dad862b..6e7627313cf 100755 --- a/test/units/testsuite-04.sh +++ b/test/units/testsuite-04.sh @@ -106,4 +106,7 @@ systemctl kill --signal=SIGKILL systemd-journald sleep 3 [[ ! -f "/i-lose-my-logs" ]] +# https://github.com/systemd/systemd/issues/15528 +journalctl --follow --file=/var/log/journal/*/* | head -n1 || [[ $? -eq 1 ]] + touch /testok