`filename_pve2` is not accessed anymore after assigning the copy to `filename`, so we can simply 'transfer' the ownership to `filename` and set `filenname_pve2` to NULL.
The call to `g_free(filename_pve2)` later can handle a NULL arg, it will simply do nothing in this case. Signed-off-by: Lukas Wagner <l.wag...@proxmox.com> --- src/pmxcfs/status.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/pmxcfs/status.c b/src/pmxcfs/status.c index e9e28bb..1b848b0 100644 --- a/src/pmxcfs/status.c +++ b/src/pmxcfs/status.c @@ -1371,7 +1371,8 @@ static void update_rrd_data(const char *key, gconstpointer data, size_t len) { use_pve2_file = 1; g_free(filename); - filename = g_strdup(filename_pve2); + filename = filename_pve2; + filename_pve2 = NULL; } else { // neither file exists, check for directories to decide and create file @@ -1383,7 +1384,8 @@ static void update_rrd_data(const char *key, gconstpointer data, size_t len) { use_pve2_file = 1; g_free(filename); - filename = g_strdup(filename_pve2); + filename = filename_pve2; + filename_pve2 = NULL; char *dir = g_path_get_dirname(filename); checked_mkdir(dir, 0755); @@ -1443,7 +1445,8 @@ static void update_rrd_data(const char *key, gconstpointer data, size_t len) { // old file exists, use it use_pve2_file = 1; g_free(filename); - filename = g_strdup(filename_pve2); + filename = filename_pve2; + filename_pve2 = NULL; } else { // neither file exists, check for directories to decide and create file @@ -1455,7 +1458,8 @@ static void update_rrd_data(const char *key, gconstpointer data, size_t len) { use_pve2_file = 1; g_free(filename); - filename = g_strdup(filename_pve2); + filename = filename_pve2; + filename_pve2 = NULL; int argcount = sizeof(rrd_def_vm) / sizeof(void *) - 1; create_rrd_file(filename, argcount, rrd_def_vm); @@ -1509,7 +1513,8 @@ static void update_rrd_data(const char *key, gconstpointer data, size_t len) { } else if (g_file_test(filename_pve2, G_FILE_TEST_EXISTS)) { // old file exists, use it g_free(filename); - filename = g_strdup(filename_pve2); + filename = filename_pve2; + filename_pve2 = NULL; } else { // neither file exists, check for directories to decide and create file @@ -1522,7 +1527,8 @@ static void update_rrd_data(const char *key, gconstpointer data, size_t len) { create_rrd_file(filename, argcount, rrd_def_storage_pve9_0); } else if (g_file_test(RRDDIR "/pve2-storage", G_FILE_TEST_IS_DIR)) { g_free(filename); - filename = g_strdup(filename_pve2); + filename = filename_pve2; + filename_pve2 = NULL; char *dir = g_path_get_dirname(filename); checked_mkdir(dir, 0755); -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel