parse_portmask return type is int,but global variable
"enabled_port_mask" type is uint32_t.so in proc_info_parse_args
function,when parse_portmask return -1,"enabled_port_mask" will
get a huge value and "if (enabled_port_mask == 0)" will never happen.

Signed-off-by: Li Han <han....@zte.com.cn>
---
 app/proc-info/main.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/app/proc-info/main.c b/app/proc-info/main.c
index c20effa..5b06735 100644
--- a/app/proc-info/main.c
+++ b/app/proc-info/main.c
@@ -90,7 +90,7 @@
 /*
  * Parse the portmask provided at run time.
  */
-static int
+static uint32_t
 parse_portmask(const char *portmask)
 {
        char *end = NULL;
@@ -103,13 +103,10 @@
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0') ||
                (errno != 0)) {
                printf("%s ERROR parsing the port mask\n", __func__);
-               return -1;
+               return 0;
        }
 
-       if (pm == 0)
-               return -1;
-
-       return pm;
+       return (uint32_t)pm;
 
 }
 
-- 
1.8.3.1

Reply via email to