virDomainDriverGetIOThreadsConfig: Automatically free virBitmap

Use g_autoptr for the temp bitmap. To achieve this the variable must be
moved down to the appropriate scope.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-12-07 17:18:46 +01:00
parent 33d6d05754
commit 5cbdea694d

View File

@ -592,8 +592,6 @@ virDomainDriverGetIOThreadsConfig(virDomainDef *targetDef,
unsigned int bitmap_size) unsigned int bitmap_size)
{ {
virDomainIOThreadInfoPtr *info_ret = NULL; virDomainIOThreadInfoPtr *info_ret = NULL;
virBitmap *bitmap = NULL;
virBitmap *cpumask = NULL;
size_t i; size_t i;
int ret = -1; int ret = -1;
@ -603,6 +601,8 @@ virDomainDriverGetIOThreadsConfig(virDomainDef *targetDef,
info_ret = g_new0(virDomainIOThreadInfoPtr, targetDef->niothreadids); info_ret = g_new0(virDomainIOThreadInfoPtr, targetDef->niothreadids);
for (i = 0; i < targetDef->niothreadids; i++) { for (i = 0; i < targetDef->niothreadids; i++) {
g_autoptr(virBitmap) bitmap = NULL;
virBitmap *cpumask = NULL;
info_ret[i] = g_new0(virDomainIOThreadInfo, 1); info_ret[i] = g_new0(virDomainIOThreadInfo, 1);
/* IOThread ID's are taken from the iothreadids list */ /* IOThread ID's are taken from the iothreadids list */
@ -627,8 +627,6 @@ virDomainDriverGetIOThreadsConfig(virDomainDef *targetDef,
if (virBitmapToData(cpumask, &info_ret[i]->cpumap, if (virBitmapToData(cpumask, &info_ret[i]->cpumap,
&info_ret[i]->cpumaplen) < 0) &info_ret[i]->cpumaplen) < 0)
goto cleanup; goto cleanup;
virBitmapFree(bitmap);
bitmap = NULL;
} }
*info = g_steal_pointer(&info_ret); *info = g_steal_pointer(&info_ret);
@ -640,7 +638,6 @@ virDomainDriverGetIOThreadsConfig(virDomainDef *targetDef,
virDomainIOThreadInfoFree(info_ret[i]); virDomainIOThreadInfoFree(info_ret[i]);
VIR_FREE(info_ret); VIR_FREE(info_ret);
} }
virBitmapFree(bitmap);
return ret; return ret;
} }