From 121ab7ff8fd1fb66e74431b71b5e0703e9912de1 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Tue, 13 Apr 2021 20:23:15 +0900 Subject: libkmod: fix possible double free with wrong modules.builtin.modinfo Fix double free for *modinfo with non '\0' terminated wrong modules.builtin.modinfo, which is because EOF is minus value. Signed-off-by: Seung-Woo Kim [sw0312.kim: cherry-pick mainline commit 675410c3b3b1] Change-Id: I9899505ff12d1444013b92007bb0474115047104 --- libkmod/libkmod-builtin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libkmod/libkmod-builtin.c b/libkmod/libkmod-builtin.c index a75a542..a002cb5 100644 --- a/libkmod/libkmod-builtin.c +++ b/libkmod/libkmod-builtin.c @@ -313,7 +313,7 @@ ssize_t kmod_builtin_get_modinfo(struct kmod_ctx *ctx, const char *modname, while (offset < iter->next) { offset = get_string(iter, pos, &line, &linesz); if (offset <= 0) { - count = (offset) ? -errno : -EOF; + count = (offset) ? -errno : -EINVAL; free(*modinfo); goto fail; } -- cgit v1.2.3