From e29413a2205099b2bffe584210d7a2b59f531f90 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 7 Dec 2022 14:49:48 +0100 Subject: ucm: execute_sysw - fix possible use-after-free Signed-off-by: Jaroslav Kysela --- src/ucm/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ucm/main.c b/src/ucm/main.c index 4f36648c..2ff4d3f3 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -572,16 +572,17 @@ static int execute_sysw(const char *sysw) wlen = write(fd, value, len); myerrno = errno; close(fd); - free(s); if (ignore_error) - return 0; + goto __end; if (wlen != (ssize_t)len) { uc_error("unable to write '%s' to '%s': %s", value, path, strerror(myerrno)); return -EINVAL; } +__end: + free(s); return 0; } -- cgit v1.2.1