When the assignment fails, the network object is not unlocked and next
call that would use it deadlocks.
---
src/conf/network_conf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 93d1b4c..1955853 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -295,6 +295,7 @@ virNetworkAssignDef(virNetworkObjListPtr nets,
if ((network = virNetworkFindByName(nets, def->name))) {
if (virNetworkObjAssignDef(network, def, live) < 0) {
+ virNetworkObjUnlock(network);
return NULL;
}
return network;
--
1.7.12.4