From cfe2061add5479710f6597899d632e64c54e62ef Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Wed, 5 Nov 2014 12:56:49 +0100 Subject: [PATCH 1/1] udev: avoid magic constants in kernel-cmdline parsers Lets recognize the fact that startswith() returns a pointer to the tail on success. Use it instead of hard-coding string-lengths as magic constants. --- src/udev/udevd.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 193702cd2..65d086e9e 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -967,7 +967,7 @@ static void kernel_cmdline_options(struct udev *udev) { return; FOREACH_WORD_QUOTED(word, l, line, state) { - char *s, *opt; + char *s, *opt, *value; s = strndup(word, l); if (!s) @@ -979,24 +979,24 @@ static void kernel_cmdline_options(struct udev *udev) { else opt = s; - if (startswith(opt, "udev.log-priority=")) { + if ((value = startswith(opt, "udev.log-priority="))) { int prio; - prio = util_log_priority(opt + 18); + prio = util_log_priority(value); log_set_max_level(prio); udev_set_log_priority(udev, prio); - } else if (startswith(opt, "udev.children-max=")) { - r = safe_atoi(opt + 18, &arg_children_max); + } else if ((value = startswith(opt, "udev.children-max="))) { + r = safe_atoi(value, &arg_children_max); if (r < 0) - log_warning("Invalid udev.children-max ignored: %s", opt + 18); - } else if (startswith(opt, "udev.exec-delay=")) { - r = safe_atoi(opt + 16, &arg_exec_delay); + log_warning("Invalid udev.children-max ignored: %s", value); + } else if ((value = startswith(opt, "udev.exec-delay="))) { + r = safe_atoi(value, &arg_exec_delay); if (r < 0) - log_warning("Invalid udev.exec-delay ignored: %s", opt + 16); - } else if (startswith(opt, "udev.event-timeout=")) { - r = safe_atou64(opt + 19, &arg_event_timeout_usec); + log_warning("Invalid udev.exec-delay ignored: %s", value); + } else if ((value = startswith(opt, "udev.event-timeout="))) { + r = safe_atou64(value, &arg_event_timeout_usec); if (r < 0) { - log_warning("Invalid udev.event-timeout ignored: %s", opt + 19); + log_warning("Invalid udev.event-timeout ignored: %s", value); break; } arg_event_timeout_usec *= USEC_PER_SEC; -- 2.30.2