The parsing check for invalid log level was not trying to catch
irrelevant numeric values.
A log level 0 or too high is now a failure in options parsing
so it can be caught early.

Signed-off-by: Thomas Monjalon <tho...@monjalon.net>
---
 lib/librte_eal/common/eal_common_options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_options.c 
b/lib/librte_eal/common/eal_common_options.c
index febc99612a..5b9ce286ff 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -1289,7 +1289,7 @@ eal_parse_log_level(const char *arg)
        }
 
        priority = eal_parse_log_priority(level);
-       if (priority < 0) {
+       if (priority <= 0 || priority > (int) RTE_LOG_MAX) {
                fprintf(stderr, "invalid log priority: %s\n", level);
                goto fail;
        }
-- 
2.30.1

Reply via email to