From 1448820aadd138882232f169157de133a8f407b0 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 29 Apr 2019 22:24:25 +0200 Subject: [PATCH] udev: evaluate formatting in RUN= key earlier Closes #12291. --- src/udev/udev-event.c | 7 ++----- src/udev/udev-rules.c | 4 +++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c index 817648ec93..32788c05e0 100644 --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c @@ -937,16 +937,13 @@ int udev_event_execute_rules(UdevEvent *event, } void udev_event_execute_run(UdevEvent *event, usec_t timeout_usec) { - const char *cmd; + const char *command; void *val; Iterator i; int r; - ORDERED_HASHMAP_FOREACH_KEY(val, cmd, event->run_list, i) { + ORDERED_HASHMAP_FOREACH_KEY(val, command, event->run_list, i) { UdevBuiltinCommand builtin_cmd = PTR_TO_UDEV_BUILTIN_CMD(val); - char command[UTIL_PATH_SIZE]; - - (void) udev_event_apply_format(event, cmd, command, sizeof(command), false); if (builtin_cmd != _UDEV_BUILTIN_INVALID) { log_device_debug(event->dev, "Running built-in command \"%s\"", command); diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index be4d8aeaa0..149d62afb3 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -1832,7 +1832,9 @@ static int udev_rule_apply_token_to_event( if (r < 0) return log_oom(); - cmd = strdup(token->value); + (void) udev_event_apply_format(event, token->value, buf, sizeof(buf), false); + + cmd = strdup(buf); if (!cmd) return log_oom(); -- 2.25.1