When ovn-nbctl is used to configure a logical switch port's addresses, it does a sanity-check to make sure that a duplicate address isn't being used. If a port is configured as "dynamic", ovn-northd is supposed to populate the "dynamic_addresses" column in the Logical_Switch_Port table. If it isn't ovn-nbctl, would dereference a null pointer as part of the duplicate address check. This patch checks that "dynamic_addresses" is actually set first.
Signed-off-by: Justin Pettit <[email protected]> --- ovn/utilities/ovn-nbctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c index 8a72e95741e2..2727b410a154 100644 --- a/ovn/utilities/ovn-nbctl.c +++ b/ovn/utilities/ovn-nbctl.c @@ -1489,7 +1489,7 @@ lsp_contains_duplicates(const struct nbrec_logical_switch *ls, for (size_t j = 0; j < lsp_test->n_addresses; j++) { struct lport_addresses laddrs_test; char *addr = lsp_test->addresses[j]; - if (is_dynamic_lsp_address(addr)) { + if (is_dynamic_lsp_address(addr) && lsp_test->dynamic_addresses) { addr = lsp_test->dynamic_addresses; } if (extract_lsp_addresses(addr, &laddrs_test)) { -- 2.17.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
