]> git.droids-corp.org - dpdk.git/commitdiff
examples: fix port mask parsing failure handling
authorSarosh Arif <sarosh.arif@emumba.com>
Thu, 11 Jun 2020 12:36:24 +0000 (17:36 +0500)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 30 Jul 2020 21:24:40 +0000 (23:24 +0200)
Giving invalid or zero portmask as command line option to
these applications will have an unexpected response.
The reason behind this is that the return value of function
that parses portmask is stored in a variable whose datatype 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 zero is returned.

Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
21 files changed:
examples/distributor/main.c
examples/ioat/ioatfwd.c
examples/ip_reassembly/main.c
examples/l2fwd-event/main.c
examples/l2fwd-jobstats/main.c
examples/l2fwd-keepalive/main.c
examples/l2fwd/main.c
examples/l3fwd-acl/main.c
examples/l3fwd-graph/main.c
examples/l3fwd-power/main.c
examples/l3fwd/main.c
examples/link_status_interrupt/main.c
examples/packet_ordering/main.c
examples/performance-thread/l3fwd-thread/main.c
examples/ptpclient/ptpclient.c
examples/qos_meter/main.c
examples/tep_termination/main.c
examples/vhost/main.c
examples/vm_power_manager/main.c
examples/vmdq/main.c
examples/vmdq_dcb/main.c

index 567c5e98919d0a998882ff7875aa334ecdd1d7e8..dca48c2abd7d33110e84638305b03f9817ba39a3 100644 (file)
@@ -647,10 +647,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;
 }
index b66ee73bcec42d9d7fc3faec8c211f8eada31505..75d8d5b9fed271b0c5993b33fba8ec687e13e451 100644 (file)
@@ -584,7 +584,7 @@ ioat_parse_portmask(const char *portmask)
        /* Parse hexadecimal string */
        pm = strtoul(portmask, &end, 16);
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0'))
-               return -1;
+               return 0;
 
        return pm;
 }
index 494d7ee77641ac18d997d77c16b6980f22028e49..550fb53becf3dce0abf99f72d6acf5b1d4fff4b6 100644 (file)
@@ -580,10 +580,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;
 }
index 4fe500333cdcca027f89d99fe53f813493aac07c..6f2076696a93b89198816fe86334d1a3d54f62db 100644 (file)
@@ -39,10 +39,7 @@ l2fwd_event_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;
 }
index 47a3b09765462b5dfb6ef3dac5c0e77cd3c4fc5d..29d570584005f6d2406b85a91ecdb381dad59770 100644 (file)
@@ -565,10 +565,7 @@ l2fwd_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;
 }
index b2742633bc653d1f7f43bc50f3352aba0baf0366..35d10e5a0ee6c7db25beb306fe5c07785979f282 100644 (file)
@@ -307,10 +307,7 @@ l2fwd_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;
 }
index e04c601b5cce9ada605b127e37397e802ae9741a..b5fb905624473cd346ade5a1555cd814e15c50b5 100644 (file)
@@ -325,10 +325,7 @@ l2fwd_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;
 }
index f22fca732892e3ce0967a207538a76bb185903e0..112ec3d2cc98dd8285ba92135e38342d2364302b 100644 (file)
@@ -1567,10 +1567,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;
 }
index c70270c4d131e901e7c790fbf7b7596ea931031e..d3fcf411ce5c63229a05bf8e8e7af877f9b52298 100644 (file)
@@ -302,10 +302,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;
 }
index 6a4a27984b6ab856141e3a884b8de0b2fc1d9712..afa38c158c45c1e03bd997b0648470a6ddc6da78 100644 (file)
@@ -1635,10 +1635,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;
 }
index 24ede42903db0e077674e8a26e8282e7020191d0..de6c62293afffc25cf0ea5032400186062bfc976 100644 (file)
@@ -340,10 +340,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;
 }
index 9bbcadfcf8b95fec366a737cba7eed099e917fd4..d1ce6abed5a20f8a4ea0b343007926cc4b920ce8 100644 (file)
@@ -314,10 +314,7 @@ lsi_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;
 }
index b397b318e651785cd6dc20599cc26ed02eb42a14..5c654c11c6131ffa78cd4bf90a70e444550c5568 100644 (file)
@@ -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;
 }
index 84c1d7b3a23275b0563b72e7f45a64bb0743770e..e32802aa9b8bce2ea15b9a86b90b533042cef3a4 100644 (file)
@@ -2681,10 +2681,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;
 }
index bfa86eec5a4ae43eb94696e574033cee24777ba7..20da32517095b4c9a4d80d50cb2fabe83ba578fb 100644 (file)
@@ -650,10 +650,7 @@ ptp_parse_portmask(const char *portmask)
        pm = strtoul(portmask, &end, 16);
 
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0'))
-               return -1;
-
-       if (pm == 0)
-               return -1;
+               return 0;
 
        return pm;
 }
index 6d057abfe3e746d3ec0d594ded5d1ea895fc4a7e..ce87b2eca262e7aa50d7707b556cbd5e22de13d4 100644 (file)
@@ -220,10 +220,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;
 }
index b9fffca020a982fa078f691212db43149e969125..232ed59b6ec6b983eaa95752b89f9c7267d08025 100644 (file)
@@ -203,10 +203,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;
 }
index 312829e8b9301989b4f4b3eafe0b9635bab377ef..e1578e79569a35126e7b0cae23ef538610e06920 100644 (file)
@@ -407,10 +407,7 @@ parse_portmask(const char *portmask)
        /* parse hexadecimal string */
        pm = strtoul(portmask, &end, 16);
        if ((portmask[0] == '\0') || (end == NULL) || (*end != '\0') || (errno != 0))
-               return -1;
-
-       if (pm == 0)
-               return -1;
+               return 0;
 
        return pm;
 
index 77797b1e164c5f2a07e77df4aa8d7e57286b2988..3a89580589c9ed966f50349581fab958971f051b 100644 (file)
@@ -144,10 +144,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;
 }
index d08826c868f8dd047ec0f023bfec58ff73343892..660be4011e1634db9847b02e7e58e16821970569 100644 (file)
@@ -370,10 +370,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;
 }
index f417b2fd9b917ff174bda1770104e0df3e39ef1e..83a6843ee5b0f3bc5b1f42add6c761b4f4299c0c 100644 (file)
@@ -424,10 +424,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;
 }