Reported-by: Gabor Locsei <[email protected]>
Reported-at:
https://mail.openvswitch.org/pipermail/ovs-discuss/2017-February/043613.html
Signed-off-by: Ben Pfaff <[email protected]>
---
tests/ovs-vsctl.at | 12 ++++++++++++
utilities/ovs-vsctl.c | 12 ++++++++++++
2 files changed, 24 insertions(+)
diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at
index 94b431f..08eb328 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -204,6 +204,9 @@ AT_CHECK([RUN_OVS_VSCTL([add-br a])], [0], [], [],
[OVS_VSCTL_CLEANUP])
AT_CHECK([RUN_OVS_VSCTL([add-br a])], [1], [],
[ovs-vsctl: cannot create a bridge named a because a bridge named a already
exists
], [OVS_VSCTL_CLEANUP])
+AT_CHECK([RUN_OVS_VSCTL([add-br ''])], [1], [],
+ [ovs-vsctl: bridge name must not be empty string
+], [OVS_VSCTL_CLEANUP])
OVS_VSCTL_CLEANUP
AT_CLEANUP
@@ -278,6 +281,9 @@ AT_CHECK([RUN_OVS_VSCTL(
AT_CHECK([RUN_OVS_VSCTL([add-port a a1])], [1], [],
[ovs-vsctl: cannot create a port named a1 because a port named a1 already
exists on bridge a
], [OVS_VSCTL_CLEANUP])
+AT_CHECK([RUN_OVS_VSCTL([add-port a ''])], [1], [],
+ [ovs-vsctl: port name must not be empty string
+], [OVS_VSCTL_CLEANUP])
OVS_VSCTL_CLEANUP
AT_CLEANUP
@@ -315,6 +321,12 @@ AT_CHECK([RUN_OVS_VSCTL([--may-exist add-bond a bond0 a2
a1])], [1], [],
[ovs-vsctl: "--may-exist add-bond a bond0 a2 a1" but bond0 actually has
interface(s) a1, a2, a3
],
[OVS_VSCTL_CLEANUP])
+AT_CHECK([RUN_OVS_VSCTL([add-bond a '' x y z])], [1], [],
+ [ovs-vsctl: port name must not be empty string
+], [OVS_VSCTL_CLEANUP])
+AT_CHECK([RUN_OVS_VSCTL([add-bond a x '' y z])], [1], [],
+ [ovs-vsctl: interface name must not be empty string
+], [OVS_VSCTL_CLEANUP])
CHECK_BRIDGES([a, a, 0])
CHECK_PORTS([a], [bond0])
CHECK_IFACES([a], [a1], [a2], [a3])
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
index 3719046..11e1ff6 100644
--- a/utilities/ovs-vsctl.c
+++ b/utilities/ovs-vsctl.c
@@ -1154,6 +1154,9 @@ cmd_add_br(struct ctl_context *ctx)
int vlan;
br_name = ctx->argv[1];
+ if (!br_name[0]) {
+ ctl_fatal("bridge name must not be empty string");
+ }
if (ctx->argc == 2) {
parent_name = NULL;
vlan = 0;
@@ -1503,6 +1506,15 @@ add_port(struct ctl_context *ctx,
struct ovsrec_port *port;
size_t i;
+ if (!port_name[0]) {
+ ctl_fatal("port name must not be empty string");
+ }
+ for (size_t i = 0; i < n_ifaces; i++) {
+ if (!iface_names[i][0]) {
+ ctl_fatal("interface name must not be empty string");
+ }
+ }
+
vsctl_context_populate_cache(ctx);
if (may_exist) {
struct vsctl_port *vsctl_port;
--
2.10.2
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev