summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-07-17 09:54:54 -0700
committerBen Pfaff <blp@ovn.org>2017-07-17 10:14:20 -0700
commitc0da503f56b8a26093b8514d3f554b16a876d33a (patch)
treebe694d7db22f07c235bd07743bacb1e5bbe8686f
parent29c7ec8562b6dd373201f31a6d05cd1d46ee9c64 (diff)
downloadopenvswitch-c0da503f56b8a26093b8514d3f554b16a876d33a.tar.gz
connmgr: Fix crash when in_band_create() fails.
update_in_band_remotes() created an in-band manager and then tried to work with it without first checking whether creation had succeeded. If it failed, this led to a segfault. Reported-by: Numan Siddique <nusiddiq@redhat.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-July/335530.html Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
-rw-r--r--ofproto/connmgr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
index 854868e7b..abb260d18 100644
--- a/ofproto/connmgr.c
+++ b/ofproto/connmgr.c
@@ -791,12 +791,12 @@ update_in_band_remotes(struct connmgr *mgr)
if (!mgr->in_band) {
in_band_create(mgr->ofproto, mgr->local_port_name, &mgr->in_band);
}
- in_band_set_queue(mgr->in_band, mgr->in_band_queue);
} else {
/* in_band_run() needs a chance to delete any existing in-band flows.
* We will destroy mgr->in_band after it's done with that. */
}
if (mgr->in_band) {
+ in_band_set_queue(mgr->in_band, mgr->in_band_queue);
in_band_set_remotes(mgr->in_band, addrs, n_addrs);
}