From 5199bd51e2a1551586df033107fd10686d0f48cf Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 3 Feb 2023 15:43:03 +0100 Subject: [PATCH] cli: use "free()" for string from readline Since glib 2.45, we are guaranteed that g_free() just calls free(), so both can be used interchangeably. However, we still only depend on glib 2.40. In any case, it's ugly to mix the two. Memory allocated by plain malloc(), should be only freed with free(). The buffer in question comes from readline, which allocates it using the system allocator. Fixes: 995229181cac ('cli: remove editor thread') (cherry picked from commit 5dc07174d31e4b4beac388f77ad30684dc4014f8) (cherry picked from commit 633c7342559bf3c2bd30e8e995a39bb868851ab1) --- src/nmcli/common.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/nmcli/common.c b/src/nmcli/common.c index 788b71099c..813a1522b8 100644 --- a/src/nmcli/common.c +++ b/src/nmcli/common.c @@ -926,7 +926,6 @@ read_again: if (nmc_config->in_editor || (rl_string && *rl_string)) { /* In editor, or the line is not empty */ /* Call readline again to get new prompt (repeat) */ - g_free(rl_string); goto read_again; } else { /* Not in editor and line is empty, exit */ @@ -939,10 +938,8 @@ read_again: } /* Return NULL, not empty string */ - if (rl_string && *rl_string == '\0') { - g_free(rl_string); - rl_string = NULL; - } + if (rl_string && *rl_string == '\0') + nm_clear_free(&rl_string); nm_clear_g_source_inst(&io_source);