diff options
author | Seung-Woo Kim <sw0312.kim@samsung.com> | 2021-04-13 20:23:15 +0900 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2021-04-17 13:41:42 -0700 |
commit | 675410c3b3b1cf4523f02ab6e3128c39bd5d5101 (patch) | |
tree | c7c65ab92e450f7811a2c24e71627c1917eb37de | |
parent | 1cab02ecf6ee2a0aa34f3615dfd99c59f7e04e90 (diff) | |
download | kmod-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.c | 2 |
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; } |