Fix: prevent dangling pointer in utils_partial_realpath
[lttng-tools.git] / src / common / utils.c
index d7811bd7a6fd566e992c505a1d81770aa1790b18..9fcceab1f3149c2c5e17a3e68d4ee1b60fc4932c 100644 (file)
@@ -55,7 +55,7 @@
 LTTNG_HIDDEN
 char *utils_partial_realpath(const char *path, char *resolved_path, size_t size)
 {
-       char *cut_path, *try_path = NULL, *try_path_prev = NULL;
+       char *cut_path = NULL, *try_path = NULL, *try_path_prev = NULL;
        const char *next, *prev, *end;
 
        /* Safety net */
@@ -124,6 +124,7 @@ char *utils_partial_realpath(const char *path, char *resolved_path, size_t size)
 
                /* Free the allocated memory */
                free(cut_path);
+               cut_path = NULL;
        };
 
        /* Allocate memory for the resolved path if necessary */
@@ -174,6 +175,7 @@ char *utils_partial_realpath(const char *path, char *resolved_path, size_t size)
 
 error:
        free(resolved_path);
+       free(cut_path);
        return NULL;
 }
 
This page took 0.022814 seconds and 4 git commands to generate.