From bb3db27bec8319f8e8ea0826071ca17bda0e7fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Gonz=C3=A1lez?= Date: Wed, 27 Feb 2019 15:17:31 +0100 Subject: [PATCH] B #2985 oned can segfault after successfully allocating a new virtual network (#2989) --- src/vnm/VirtualNetworkPool.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/vnm/VirtualNetworkPool.cc b/src/vnm/VirtualNetworkPool.cc index 09d72d4c06..1c5c8c9ccc 100644 --- a/src/vnm/VirtualNetworkPool.cc +++ b/src/vnm/VirtualNetworkPool.cc @@ -146,6 +146,12 @@ int VirtualNetworkPool::allocate ( { vn = get(*oid); + if (vn == 0) + { + error_str = "An error occurred while allocating the virtual network."; + goto error_common; + } + if ( set_vlan_id(vn) != 0 ) { error_str = "Cannot automatically assign VLAN_ID to network."; @@ -165,6 +171,9 @@ error_duplicated: error_str = oss.str(); delete vn; + +error_common: + *oid = -1; return *oid;