From 49d47342b34ff3a3b3ea7cfe8c31e66b5c6ebc18 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 14 Jun 2021 16:44:19 +0200 Subject: [PATCH] virStorageBackendRBDGetVolNames: Refactor cleanup in 'rbd_list' version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use automatic memory freeing for the string list so that we can remove the cleanup section. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/storage/storage_backend_rbd.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c index 371ebfaf1b..a4e8115dc4 100644 --- a/src/storage/storage_backend_rbd.c +++ b/src/storage/storage_backend_rbd.c @@ -611,7 +611,7 @@ virStorageBackendRBDGetVolNames(virStorageBackendRBDState *ptr) static char ** virStorageBackendRBDGetVolNames(virStorageBackendRBDState *ptr) { - char **names = NULL; + g_auto(GStrv) names = NULL; size_t nnames = 0; int rc; size_t max_size = 1024; @@ -626,7 +626,7 @@ virStorageBackendRBDGetVolNames(virStorageBackendRBDState *ptr) break; if (rc != -ERANGE) { virReportSystemError(errno, "%s", _("Unable to list RBD images")); - goto error; + return NULL; } VIR_FREE(namebuf); } @@ -640,18 +640,14 @@ virStorageBackendRBDGetVolNames(virStorageBackendRBDState *ptr) namedup = g_strdup(name); if (VIR_APPEND_ELEMENT(names, nnames, namedup) < 0) - goto error; + return NULL; name += strlen(name) + 1; } VIR_EXPAND_N(names, nnames, 1); - return names; - - error: - virStringListFreeCount(names, nnames); - return NULL; + return g_steal_pointer(&names); } #endif /* ! WITH_RBD_LIST2 */