When the function check_msg() is called, memory for str is allocated via xasprintf() and xasprintf_append() (as well as for file_str), but is not freed anywhere later (although file_str is). Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: c2e7075ca830 ("scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145") Signed-off-by: Stanislav Goriainov <goriainov@xxxxxxxxx> --- scripts/dtc/checks.c | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c index 781ba1129a8e..92ffc8de6a52 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -114,6 +114,7 @@ static inline void PRINTF(5, 6) check_msg(struct check *c, struct dt_info *dti, } fputs(str, stderr); + free(str); } #define FAIL(c, dti, node, ...) \ -- 2.34.1