diff --git a/src/shared/volatile-util.c b/src/shared/volatile-util.c index 917ebfa4e43..5ca6ab3376c 100644 --- a/src/shared/volatile-util.c +++ b/src/shared/volatile-util.c @@ -12,27 +12,28 @@ int query_volatile_mode(VolatileMode *ret) { _cleanup_free_ char *mode = NULL; - VolatileMode m = VOLATILE_NO; int r; r = proc_cmdline_get_key("systemd.volatile", PROC_CMDLINE_VALUE_OPTIONAL, &mode); if (r < 0) return r; - if (r == 0) - goto finish; + if (r == 0) { + *ret = VOLATILE_NO; + return 0; + } if (mode) { + VolatileMode m; + m = volatile_mode_from_string(mode); if (m < 0) return -EINVAL; + + *ret = m; } else - m = VOLATILE_YES; + *ret = VOLATILE_YES; - r = 1; - -finish: - *ret = m; - return r; + return 1; } static const char* const volatile_mode_table[_VOLATILE_MODE_MAX] = {