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