reduce_capabilities() first allocates the current capability state with
cap_get_proc() into cap_cur and then allocates a fresh capability set
with cap_init() into cap_new. When the latter fails it tries to deallocate
the NULL cap_new.

Free cap_cur instead to avoid a leak.

Fixes: b0877b387ba1 ("alfred: Drop capabilities when not needed")
Signed-off-by: Sven Eckelmann <[email protected]>
---
 main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/main.c b/main.c
index 9c38fd7..07e3cca 100644
--- a/main.c
+++ b/main.c
@@ -84,7 +84,7 @@ static int reduce_capabilities(void)
        cap_new = cap_init();
        if (!cap_new) {
                perror("cap_init");
-               cap_free(cap_new);
+               cap_free(cap_cur);
                return -1;
        }
 

-- 
2.47.3

Reply via email to