diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c index 4b49d6aaef..cab3442185 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -190,10 +190,13 @@ static int execute(char **modes, char **states) { static int read_wakealarm(uint64_t *result) { _cleanup_free_ char *t = NULL; + int r; - if (read_one_line_file("/sys/class/rtc/rtc0/since_epoch", &t) >= 0) - return safe_atou64(t, result); - return -EBADF; + r = read_one_line_file("/sys/class/rtc/rtc0/since_epoch", &t); + if (r < 0) + return r; + + return safe_atou64(t, result); } static int write_wakealarm(const char *str) {