From 2f7510f3124e48fecd3a9f59749c33ae05041ec6 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Thu, 18 Sep 2014 19:02:03 +0200 Subject: udevd: parse_argv - warn if argumens are invalid Found by Coverity. Fixes CID #1238780. Signed-off-by: Anthony G. Basile --- src/udev/udevd.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/udev/udevd.c') diff --git a/src/udev/udevd.c b/src/udev/udevd.c index cd94724f54..43852528b2 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1075,17 +1075,23 @@ static int parse_argv(int argc, char *argv[]) { arg_daemonize = true; break; case 'c': - safe_atoi(optarg, &arg_children_max); + r = safe_atoi(optarg, &arg_children_max); + if (r < 0) + log_warning("Invalid --children-max ignored: %s", optarg); break; case 'e': - safe_atoi(optarg, &arg_exec_delay); + r = safe_atoi(optarg, &arg_exec_delay); + if (r < 0) + log_warning("Invalid --exec-delay ignored: %s", optarg); break; case 't': r = safe_atou64(optarg, &arg_event_timeout_usec); if (r < 0) - break; - arg_event_timeout_usec *= USEC_PER_SEC; - arg_event_timeout_warn_usec = (arg_event_timeout_usec / 3) ? : 1; + log_warning("Invalig --event-timeout ignored: %s", optarg); + else { + arg_event_timeout_usec *= USEC_PER_SEC; + arg_event_timeout_warn_usec = (arg_event_timeout_usec / 3) ? : 1; + } break; case 'D': arg_debug = true; -- cgit v1.2.3-54-g00ecf