Thanks! I applied the following incremental
(minor style fixes) and push this to master

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index d0c3d66..f94e0d4 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -649,10 +649,11 @@ dpdk_dev_parse_name(const char dev_name[], const
char prefix[],
 
     cport = dev_name + strlen(prefix);
 
-    if(str_to_uint(cport, 10, port_no))
+    if (str_to_uint(cport, 10, port_no)) {
         return 0;
-    else
+    } else {
         return ENODEV;
+    }
 }
 
 static int


On 23/02/2016 14:06, "dev on behalf of Mauricio Vasquez B"
<dev-boun...@openvswitch.org on behalf of
mauricio.vasquezber...@studenti.polito.it> wrote:

>Current implementation of dpdk_dev_parse_name does not perform a robust
>error handling, port names as "dpdkr" and "dpdkr1x" are considered valid.
>
>With this patch only positive port numbers in decimal notation are
>considered
>valid.
>
>Signed-off-by: Mauricio Vasquez B
><mauricio.vasquezber...@studenti.polito.it>
>---
>v3:
>- use str_to_uint
>
> lib/netdev-dpdk.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
>diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
>index de7e488..0fe0151 100644
>--- a/lib/netdev-dpdk.c
>+++ b/lib/netdev-dpdk.c
>@@ -187,7 +187,7 @@ struct dpdk_ring {
>     /* For the client rings */
>     struct rte_ring *cring_tx;
>     struct rte_ring *cring_rx;
>-    int user_port_id; /* User given port no, parsed from port name */
>+    unsigned int user_port_id; /* User given port no, parsed from port
>name */
>     int eth_port_id; /* ethernet device port id */
>     struct ovs_list list_node OVS_GUARDED_BY(dpdk_mutex);
> };
>@@ -636,6 +636,8 @@ unlock:
>     return err;
> }
> 
>+/* dev_name must be the prefix followed by a positive decimal number.
>+ * (no leading + or - signs are allowed) */
> static int
> dpdk_dev_parse_name(const char dev_name[], const char prefix[],
>                     unsigned int *port_no)
>@@ -647,8 +649,11 @@ dpdk_dev_parse_name(const char dev_name[], const
>char prefix[],
>     }
> 
>     cport = dev_name + strlen(prefix);
>-    *port_no = strtol(cport, NULL, 0); /* string must be null terminated
>*/
>-    return 0;
>+
>+    if(str_to_uint(cport, 10, port_no))
>+        return 0;
>+    else
>+        return ENODEV;
> }
> 
> static int
>-- 
>1.9.1
>
>_______________________________________________
>dev mailing list
>dev@openvswitch.org
>http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to