From: Peter Krempa <pkrempa@redhat.com> Use automatic memory freeing to remove 'error' label. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- 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