From 59a77863ad2b3db8c573c44b26be4b4127eee80b Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Tue, 11 Feb 2020 16:26:08 +0100 Subject: [PATCH] Do not leak fifo_path Change-Id: Ib8ed78d09c3ab0438f6786d91c86c8ae6d1f1f2f (cherry picked from commit bb5afc237868973b3acd6a1873c2e32bb119e78e) --- src/dumpsys/dumpsys.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/dumpsys/dumpsys.c b/src/dumpsys/dumpsys.c index 7d4a746..93d1cd1 100644 --- a/src/dumpsys/dumpsys.c +++ b/src/dumpsys/dumpsys.c @@ -87,12 +87,12 @@ static bool make_fifo(int *write_fd, int *read_fd) uid_t ruid, euid, suid; if (getresuid(&ruid, &euid, &suid) == -1) { printf("getresuid error: %m\n"); - return false; + goto end_free; } if (seteuid(suid) == -1) { printf("setuid error: %m\n"); - return false; + goto end_free; } if (mktemp(fifo_path) == NULL) { @@ -142,11 +142,13 @@ static bool make_fifo(int *write_fd, int *read_fd) result = true; end: - free(fifo_path); if (seteuid(euid) == -1) { printf("setuid error: %m\n"); result = false; } +end_free: + free(fifo_path); + return result; } -- 2.7.4