Signed-off-by: Nikola Pajkovsky npajkovs@redhat.com --- src/lib/event_config.c | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/lib/event_config.c b/src/lib/event_config.c index 7a8b5e3..b855394 100644 --- a/src/lib/event_config.c +++ b/src/lib/event_config.c @@ -304,10 +304,22 @@ static char *validate_event_option(event_option_t *opt) break; case OPTION_TYPE_NUMBER: { - long r = strtol(opt->value, (char **)&s, 10); - (void) r; - if (*s || errno) + char *endptr; + errno = 0; + long r = strtol(opt->value, &endptr, 10); + if ((errno == ERANGE && (r == LONG_MAX || r == LONG_MIN)) + || (errno != 0 && r == 0)) + { + perror_msg("strtol"); + return xasprintf(_("Invalid number '%s'"), opt->value); + } + + if (endptr == str) + return xasprintf(_("No digits were found '%s'"), opt->value); + + if (*endptr) return xasprintf(_("Invalid number '%s'"), opt->value); + break; } case OPTION_TYPE_BOOL: