diff mbox series

kconfig: fix memory leak in sym_warn_unmet_dep()

Message ID 20250120081039.29006-1-masahiroy@kernel.org (mailing list archive)
State New
Headers show
Series kconfig: fix memory leak in sym_warn_unmet_dep() | expand

Commit Message

Masahiro Yamada Jan. 20, 2025, 8:10 a.m. UTC
The string allocated in sym_warn_unmet_dep() is never freed, leading
to a memory leak when an unmet dependency is detected.

Fixes: f8f69dc0b4e0 ("kconfig: make unmet dependency warnings readable")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 scripts/kconfig/symbol.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Petr Vorel Jan. 20, 2025, 6:50 p.m. UTC | #1
Hi Masahiro,

> The string allocated in sym_warn_unmet_dep() is never freed, leading
> to a memory leak when an unmet dependency is detected.

Reviewed-by: Petr Vorel <pvorel@suse.cz>

+1

I looked at other str_new() uses, but all looks to be using str_free()
(or return a pointer, which is freed by the caller).

Kind regards,
Petr

> Fixes: f8f69dc0b4e0 ("kconfig: make unmet dependency warnings readable")
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---

>  scripts/kconfig/symbol.c | 1 +
>  1 file changed, 1 insertion(+)

> diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
> index 89b84bf8e21f..1521cdf62fce 100644
> --- a/scripts/kconfig/symbol.c
> +++ b/scripts/kconfig/symbol.c
> @@ -389,6 +389,7 @@ static void sym_warn_unmet_dep(const struct symbol *sym)

>  	fputs(str_get(&gs), stderr);
>  	sym_warnings++;
> +	str_free(&gs);
>  }

>  bool sym_dep_errors(void)
diff mbox series

Patch

diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index 89b84bf8e21f..1521cdf62fce 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -389,6 +389,7 @@  static void sym_warn_unmet_dep(const struct symbol *sym)
 
 	fputs(str_get(&gs), stderr);
 	sym_warnings++;
+	str_free(&gs);
 }
 
 bool sym_dep_errors(void)