diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index 01c2bd3750..91ef5d7c07 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -1116,7 +1116,7 @@ int resolve_dev_console(char **ret) { * is a sign for container setups). */ _cleanup_free_ char *chased = NULL; - r = chase("/dev/console", /* root= */ NULL, /* flags= */ 0, &chased, /* ret_fd= */ NULL); + r = chase("/dev/console", /* root= */ NULL, /* flags= */ 0, &chased, /* ret_fd= */ NULL); if (r < 0) return r; if (!path_equal(chased, "/dev/console")) { @@ -1134,6 +1134,8 @@ int resolve_dev_console(char **ret) { r = read_one_line_file("/sys/class/tty/console/active", &active); if (r < 0) return r; + if (r == 0) + return -ENXIO; /* If multiple log outputs are configured the last one is what /dev/console points to */ const char *tty = strrchr(active, ' ');