From: Peter Krempa <[email protected]>

Use automatic memory freeing to remove 'error' label.

Signed-off-by: Peter Krempa <[email protected]>
---
 tools/vsh-table.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/tools/vsh-table.c b/tools/vsh-table.c
index 13e9887cba..0c96407f03 100644
--- a/tools/vsh-table.c
+++ b/tools/vsh-table.c
@@ -123,8 +123,8 @@ vshTableRowNew(const char *arg, va_list ap)
 vshTable *
 vshTableNew(const char *arg, ...)
 {
-    vshTable *table = NULL;
-    vshTableRow *header = NULL;
+    g_autoptr(vshTable) table = NULL;
+    g_autoptr(vshTableRow) header = NULL;
     va_list ap;

     table = g_new0(vshTable, 1);
@@ -134,15 +134,11 @@ vshTableNew(const char *arg, ...)
     va_end(ap);

     if (!header)
-        goto error;
+        return NULL;

     VIR_APPEND_ELEMENT(table->rows, table->nrows, header);

-    return table;
- error:
-    vshTableRowFree(header);
-    vshTableFree(table);
-    return NULL;
+    return g_steal_pointer(&table);
 }


-- 
2.53.0

Reply via email to