mirror of
https://git.yoctoproject.org/poky
synced 2026-02-22 09:29:40 +01:00
memset is required after malloc in grab_module, or else random segfault may happen. The fix is from Mark Hatle <mark.hatle@windriver.com>. Upstream bug is reported as: https://bugzilla.kernel.org/show_bug.cgi?id=16528 Signed-off-by: Kevin Tian <kevin.tian@intel.com>
20 lines
799 B
Diff
20 lines
799 B
Diff
# this patch is from Mark Hatle <mark.hatle@windriver.com>, who ran into
|
|
# a random segfault using the latest module-init-tools (3.12) and finally
|
|
# trace back to depmod.c:grab_module, which appears that the new malloc(...)
|
|
# setups up things, but never clears the memory that was just allocated.
|
|
#
|
|
# Kevin Tian <kevin.tian@intel.com>, 2010-08-06
|
|
|
|
diff --git a/depmod.c b/depmod.c
|
|
index 647e5e6..46e03e0 100644
|
|
--- a/depmod.c
|
|
+++ b/depmod.c
|
|
@@ -313,6 +313,7 @@ static struct module *grab_module(const char *dirname, const char *filename)
|
|
|
|
new = NOFAIL(malloc(sizeof(*new)
|
|
+ strlen(dirname?:"") + 1 + strlen(filename) + 1));
|
|
+ memset(new, 0x00, sizeof(*new) + strlen(dirname?:"") + 1 + strlen(filename) + 1);
|
|
if (dirname)
|
|
sprintf(new->pathname, "%s/%s", dirname, filename);
|
|
else
|