From: Peter Krempa Date: Fri, 23 Jul 2021 08:43:12 +0000 (+0200) Subject: virDomainDefValidateAliases: Refactor to avoid cleanup section X-Git-Tag: v7.6.0-rc1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3c30eea3f23c5a34b14a3e6b19d17fbfa67a74f;p=thirdparty%2Flibvirt.git virDomainDefValidateAliases: Refactor to avoid cleanup section Use a temporary auto-freed local variable to hold the hash table so that the cleanup section can be removed. Signed-off-by: Peter Krempa Reviewed-by: Tim Wiederhake --- diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c index aab377fbbd..a9e4519b1a 100644 --- a/src/conf/domain_validate.c +++ b/src/conf/domain_validate.c @@ -1257,25 +1257,20 @@ static int virDomainDefValidateAliases(const virDomainDef *def, GHashTable **aliases) { - struct virDomainDefValidateAliasesData data; - int ret = -1; - /* We are not storing copies of aliases. Don't free them. */ - data.aliases = virHashNew(NULL); + g_autoptr(GHashTable) tmpaliases = virHashNew(NULL); + struct virDomainDefValidateAliasesData data = { .aliases = tmpaliases }; if (virDomainDeviceInfoIterateFlags((virDomainDef *) def, virDomainDeviceDefValidateAliasesIterator, DOMAIN_DEVICE_ITERATE_ALL_CONSOLES, &data) < 0) - goto cleanup; + return -1; if (aliases) - *aliases = g_steal_pointer(&data.aliases); + *aliases = g_steal_pointer(&tmpaliases); - ret = 0; - cleanup: - virHashFree(data.aliases); - return ret; + return 0; }