Giving invalid or zero portmask as command line option to 
packet_ordering application will have an unexpected response.
The reason behind this is that parse_portmask's return value is
stored in a variable called portmask.The data type of portmask 
is unsigned int, hence returning -1 in case of zero or invalid
portmask causes an unexpected behaviour. 
If we return 0 instead of -1 this issue can be resolved.
The program already contains the functionality to print
"invalid portmask" and program usage if portmask is zero.

Fixes: 850f3733f840 ("examples/packet_ordering: new sample app")

Signed-off-by: Sarosh Arif <sarosh.a...@emumba.com>
---
 examples/packet_ordering/main.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index edaf810d9..b5fc6c54b 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -143,10 +143,7 @@ parse_portmask(const char *portmask)
        /* parse hexadecimal string */
        pm = strtoul(portmask, &end, 16);
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0'))
-               return -1;
-
-       if (pm == 0)
-               return -1;
+               return 0;
 
        return pm;
 }
-- 
2.17.1

Reply via email to