Reported-by: Gabor Locsei <gabor.loc...@ericsson.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-discuss/2017-February/043613.html Signed-off-by: Ben Pfaff <b...@ovn.org> --- 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 d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev