From: Lennart Poettering Date: Mon, 17 Jun 2019 09:31:06 +0000 (+0200) Subject: sleep: properly pass verb to sleep script X-Git-Tag: archive/raspbian/242-7+rpi1^2~18 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8e84dbc8c87465cdf2fb0abf3d06457ded916fc8;p=systemd.git sleep: properly pass verb to sleep script Another fall-out from our rewriting of argv[] now. Fixes: #12782 (cherry picked from commit 98dc9d1f8f02ef968140a2d55ed91528e1ef8056) Gbp-Pq: Name sleep-properly-pass-verb-to-sleep-script.patch --- diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c index 11aabaf9..867477b6 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -32,6 +32,8 @@ static char* arg_verb = NULL; +STATIC_DESTRUCTOR_REGISTER(arg_verb, freep); + static int write_hibernate_location_info(void) { _cleanup_free_ char *device = NULL, *type = NULL; _cleanup_free_ struct fiemap *fiemap = NULL; @@ -344,7 +346,9 @@ static int parse_argv(int argc, char *argv[]) { "Usage: %s COMMAND", program_invocation_short_name); - arg_verb = argv[optind]; + arg_verb = strdup(argv[optind]); + if (!arg_verb) + return log_oom(); if (!STR_IN_SET(arg_verb, "suspend", "hibernate", "hybrid-sleep", "suspend-then-hibernate")) return log_error_errno(SYNTHETIC_ERRNO(EINVAL),