From d3022c1039eb24ef61a4397d26d10e09db705d80 Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Sat, 23 Dec 2023 17:26:49 +1100
Subject: [PATCH] fix compute_log_dir parameters and double freed

---
 src/lib66/parse/parse_rename_interdependences.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib66/parse/parse_rename_interdependences.c b/src/lib66/parse/parse_rename_interdependences.c
index f334a0be..6b48433c 100644
--- a/src/lib66/parse/parse_rename_interdependences.c
+++ b/src/lib66/parse/parse_rename_interdependences.c
@@ -135,7 +135,7 @@ void parse_rename_interdependences(resolve_service_t *res, char const *prefix, s
 
                 c->res.logger.name = resolve_add_string(wres, logname) ;
 
-                c->res.logger.destination = compute_log_dir(wres, res) ;
+                c->res.logger.destination = compute_log_dir(wres, &c->res) ;
 
                 c->res.logger.execute.run.runas = c->res.logger.execute.run.runas ? resolve_add_string(wres, c->res.sa.s + c->res.logger.execute.run.runas) : resolve_add_string(wres, SS_LOGGER_RUNNER) ;
 
@@ -146,13 +146,14 @@ void parse_rename_interdependences(resolve_service_t *res, char const *prefix, s
                         log_die_nomem("stralloc") ;
                 }
 
+                free(wres) ;
+
             }
 
             if (sastr_cmp(&sa, c->res.sa.s + c->res.name) < 0 )
                 if (!sastr_add_string(&sa, c->res.sa.s + c->res.name))
                     log_die_nomem("stralloc") ;
         }
-        free(wres) ;
     }
 
     wres = resolve_set_struct(DATA_SERVICE, res) ;
-- 
GitLab