diff mbox series

libsemanage: Free contents of modkey in semanage_direct_remove

Message ID 20201217145949.1230098-1-jhrozek@redhat.com (mailing list archive)
State Accepted
Headers show
Series libsemanage: Free contents of modkey in semanage_direct_remove | expand

Commit Message

Jakub Hrozek Dec. 17, 2020, 2:59 p.m. UTC
semanage_direct_remove allocates struct semanage_module_key_t on
stack, then calls semanage_module_key_set_name which allocates
modkey->name on heap, but modkey->name wasn't free()-d anywhere,
creating a small leak.

Signed-off-by: Jakub Hrozek <jhrozek@redhat.com>
---
 libsemanage/src/direct_api.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Nicolas Iooss Dec. 30, 2020, 9:32 a.m. UTC | #1
On Thu, Dec 17, 2020 at 4:02 PM Jakub Hrozek <jhrozek@redhat.com> wrote:
>
> semanage_direct_remove allocates struct semanage_module_key_t on
> stack, then calls semanage_module_key_set_name which allocates
> modkey->name on heap, but modkey->name wasn't free()-d anywhere,
> creating a small leak.
>
> Signed-off-by: Jakub Hrozek <jhrozek@redhat.com>

Thanks for your patch!

Acked-by: Nicolas Iooss <nicolas.iooss@m4x.org>

I merged it directly.
Nicolas

> ---
>  libsemanage/src/direct_api.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
> index d2b91fb2..9a4e7938 100644
> --- a/libsemanage/src/direct_api.c
> +++ b/libsemanage/src/direct_api.c
> @@ -1951,6 +1951,7 @@ static int semanage_direct_remove(semanage_handle_t * sh, char *module_name)
>         status = semanage_direct_remove_key(sh, &modkey);
>
>  cleanup:
> +       semanage_module_key_destroy(sh, &modkey);
>         return status;
>  }
>
> --
> 2.26.2
>
diff mbox series

Patch

diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
index d2b91fb2..9a4e7938 100644
--- a/libsemanage/src/direct_api.c
+++ b/libsemanage/src/direct_api.c
@@ -1951,6 +1951,7 @@  static int semanage_direct_remove(semanage_handle_t * sh, char *module_name)
 	status = semanage_direct_remove_key(sh, &modkey);
 
 cleanup:
+	semanage_module_key_destroy(sh, &modkey);
 	return status;
 }