34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
From 877f8149d2ed94b6ab412fabaab9fe8d15193db7 Mon Sep 17 00:00:00 2001
|
|
From: Pedro Tammela <pctammela@mojatatu.com>
|
|
Date: Sat, 19 Aug 2023 17:54:48 -0300
|
|
Subject: [PATCH] utils: fix get_integer() logic
|
|
|
|
Conflict:NA
|
|
Reference:https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit?id=877f8149d2ed94b6ab412fabaab9fe8d15193db7
|
|
|
|
After 3a463c15, get_integer() doesn't return the converted value and
|
|
always writes 0 in 'val' in case of success.
|
|
Fix the logic so it writes the converted value in 'val'.
|
|
|
|
Fixes: 3a463c15 ("Add get_long utility and adapt get_integer accordingly"
|
|
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
|
|
Signed-off-by: David Ahern <dsahern@kernel.org>
|
|
---
|
|
lib/utils.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/lib/utils.c b/lib/utils.c
|
|
index efa01668d..99ba7a233 100644
|
|
--- a/lib/utils.c
|
|
+++ b/lib/utils.c
|
|
@@ -142,7 +142,8 @@ int get_integer(int *val, const char *arg, int base)
|
|
{
|
|
long res;
|
|
|
|
- res = get_long(NULL, arg, base);
|
|
+ if (get_long(&res, arg, base) < 0)
|
|
+ return -1;
|
|
|
|
/* Outside range of int */
|
|
if (res < INT_MIN || res > INT_MAX)
|