ucm: execute_sysw - fix possible use-after-free

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2022-12-07 14:49:48 +01:00
parent d28e8cb294
commit e29413a220

View file

@ -572,16 +572,17 @@ static int execute_sysw(const char *sysw)
wlen = write(fd, value, len); wlen = write(fd, value, len);
myerrno = errno; myerrno = errno;
close(fd); close(fd);
free(s);
if (ignore_error) if (ignore_error)
return 0; goto __end;
if (wlen != (ssize_t)len) { if (wlen != (ssize_t)len) {
uc_error("unable to write '%s' to '%s': %s", value, path, strerror(myerrno)); uc_error("unable to write '%s' to '%s': %s", value, path, strerror(myerrno));
return -EINVAL; return -EINVAL;
} }
__end:
free(s);
return 0; return 0;
} }