From fce47bca2cfc6b00a70b207716e49127f1e0aa36 Mon Sep 17 00:00:00 2001 From: y-syo Date: Wed, 24 Jul 2024 19:54:12 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=94=A8=E3=80=8D=20fix(builtins/f?= =?UTF-8?q?t=5Funset):=20fixed=20possible=20leak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/ft_unset.c | 29 ++++++++++++++++------------- src/env/env_setters.c | 5 ++++- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/builtins/ft_unset.c b/src/builtins/ft_unset.c index 5f8768f..d5597a2 100644 --- a/src/builtins/ft_unset.c +++ b/src/builtins/ft_unset.c @@ -6,7 +6,7 @@ /* By: mmoussou name, arg)) + if (ft_strcmp(arg, "PWD")) { - pop_first_el(env); - return ; - } - while (env->next) - { - if (!ft_strcmp(env->next->name, arg)) + if (!ft_strcmp(env->name, arg)) { - ft_free("cc", &env->next->name, &env->next->content); - tmp = env->next; - env->next = env->next->next; - free(tmp); + pop_first_el(env); return ; } - env = env->next; + while (env->next) + { + if (!ft_strcmp(env->next->name, arg)) + { + ft_free("cc", &env->next->name, &env->next->content); + tmp = env->next; + env->next = env->next->next; + free(tmp); + return ; + } + env = env->next; + } } } diff --git a/src/env/env_setters.c b/src/env/env_setters.c index a0b8f90..2728fbf 100644 --- a/src/env/env_setters.c +++ b/src/env/env_setters.c @@ -6,11 +6,12 @@ /* By: mmoussou