vmx: allocate space for network interfaces if needed

Dynamically grow the array of network interfaces for each interface
read, instead of using a single array of size 4.  This way, in the
future it will be easier to not limit the number of network interfaces
(which this patch still does not change).

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
This commit is contained in:
Pino Toscano 2018-03-28 13:40:19 +02:00 committed by Michal Privoznik
parent 5d5430e1fc
commit 6d394989fd
1 changed files with 7 additions and 10 deletions

View File

@ -1751,19 +1751,16 @@ virVMXParseConfig(virVMXContext *ctx,
}
/* def:nets */
if (VIR_ALLOC_N(def->nets, 4) < 0)
goto cleanup;
def->nnets = 0;
for (controller = 0; controller < 4; ++controller) {
if (virVMXParseEthernet(conf, controller,
&def->nets[def->nnets]) < 0) {
virDomainNetDefPtr net = NULL;
if (virVMXParseEthernet(conf, controller, &net) < 0)
goto cleanup;
}
if (def->nets[def->nnets] != NULL)
++def->nnets;
if (!net)
continue;
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, net) < 0)
goto cleanup;
}
/* def:inputs */