aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSeung-Woo Kim <sw0312.kim@samsung.com>2021-04-13 20:23:15 +0900
committerLucas De Marchi <lucas.demarchi@intel.com>2021-04-17 13:41:42 -0700
commit675410c3b3b1cf4523f02ab6e3128c39bd5d5101 (patch)
treec7c65ab92e450f7811a2c24e71627c1917eb37de
parent1cab02ecf6ee2a0aa34f3615dfd99c59f7e04e90 (diff)
downloadkmod-675410c3b3b1cf4523f02ab6e3128c39bd5d5101.tar.gz
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@samsung.com>
-rw-r--r--libkmod/libkmod-builtin.c2
1 files changed, 1 insertions, 1 deletions
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;
}