virQEMUDriverConfigLoadNVRAMEntry: use VIR_AUTOFREE

Switch the function to use VIR_AUTOFREE and VIR_AUTOPTR macros
to get rid of the cleanup section.

Requested-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Ján Tomko 2019-01-21 14:48:18 +01:00
parent 92e601d08c
commit 2a33dc41bb

View File

@ -829,31 +829,27 @@ static int
virQEMUDriverConfigLoadNVRAMEntry(virQEMUDriverConfigPtr cfg, virQEMUDriverConfigLoadNVRAMEntry(virQEMUDriverConfigPtr cfg,
virConfPtr conf) virConfPtr conf)
{ {
char **nvram = NULL; VIR_AUTOPTR(virString) nvram = NULL;
int ret = -1;
size_t i; size_t i;
if (virConfGetValueStringList(conf, "nvram", false, &nvram) < 0) if (virConfGetValueStringList(conf, "nvram", false, &nvram) < 0)
goto cleanup; return -1;
if (nvram) { if (nvram) {
virFirmwareFreeList(cfg->firmwares, cfg->nfirmwares); virFirmwareFreeList(cfg->firmwares, cfg->nfirmwares);
cfg->nfirmwares = virStringListLength((const char *const *)nvram); cfg->nfirmwares = virStringListLength((const char *const *)nvram);
if (nvram[0] && VIR_ALLOC_N(cfg->firmwares, cfg->nfirmwares) < 0) if (nvram[0] && VIR_ALLOC_N(cfg->firmwares, cfg->nfirmwares) < 0)
goto cleanup; return -1;
for (i = 0; nvram[i] != NULL; i++) { for (i = 0; nvram[i] != NULL; i++) {
if (VIR_ALLOC(cfg->firmwares[i]) < 0) if (VIR_ALLOC(cfg->firmwares[i]) < 0)
goto cleanup; return -1;
if (virFirmwareParse(nvram[i], cfg->firmwares[i]) < 0) if (virFirmwareParse(nvram[i], cfg->firmwares[i]) < 0)
goto cleanup; return -1;
} }
} }
ret = 0; return 0;
cleanup:
virStringListFree(nvram);
return ret;
} }