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