blob: 3edcbd7507dad069d638e09818e1890a77e87384 [file] [log] [blame]
From f975f6bfcc88ce8cb653efa580ea73a8c22e17df Mon Sep 17 00:00:00 2001
From: Lucas De Marchi <lucas.demarchi@intel.com>
Date: Mon, 20 Jan 2020 16:15:38 -0300
Subject: libkmod: reset was_space on second pass
The softdep config parser uses a 2-pass approach to use a single
allocation for all the softdep struct. However "was_space" variable
isn't reset between them. This can lead to a buffer overflow.
Reported-by: Jorge Lucangeli Obes <jorgelo@google.com>
Link: https://lore.kernel.org/linux-modules/CAKYuF5QhGCPCazHQjN-=kFc5kHs7Ok8WqmmGLo31CiOEN8TYdA@mail.gmail.com
---
libkmod/libkmod-config.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index aaac0a1..7b62367 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -335,6 +335,7 @@ static int kmod_config_add_softdep(struct kmod_config *config,
n_pre = 0;
n_post = 0;
mode = S_NONE;
+ was_space = false;
for (p = s = line; ; s++) {
size_t plen;
--
cgit 1.2-0.3.lf.el7