diff options
Diffstat (limited to 'meta/recipes-kernel/module-init-tools/files/grab_module_memset.patch')
-rw-r--r-- | meta/recipes-kernel/module-init-tools/files/grab_module_memset.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/meta/recipes-kernel/module-init-tools/files/grab_module_memset.patch b/meta/recipes-kernel/module-init-tools/files/grab_module_memset.patch new file mode 100644 index 0000000000..9550255315 --- /dev/null +++ b/meta/recipes-kernel/module-init-tools/files/grab_module_memset.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | # this patch is from Mark Hatle <mark.hatle@windriver.com>, who ran into | ||
2 | # a random segfault using the latest module-init-tools (3.12) and finally | ||
3 | # trace back to depmod.c:grab_module, which appears that the new malloc(...) | ||
4 | # setups up things, but never clears the memory that was just allocated. | ||
5 | # | ||
6 | # Kevin Tian <kevin.tian@intel.com>, 2010-08-06 | ||
7 | |||
8 | diff --git a/depmod.c b/depmod.c | ||
9 | index 647e5e6..46e03e0 100644 | ||
10 | --- a/depmod.c | ||
11 | +++ b/depmod.c | ||
12 | @@ -313,6 +313,7 @@ static struct module *grab_module(const char *dirname, const char *filename) | ||
13 | |||
14 | new = NOFAIL(malloc(sizeof(*new) | ||
15 | + strlen(dirname?:"") + 1 + strlen(filename) + 1)); | ||
16 | + memset(new, 0x00, sizeof(*new) + strlen(dirname?:"") + 1 + strlen(filename) + 1); | ||
17 | if (dirname) | ||
18 | sprintf(new->pathname, "%s/%s", dirname, filename); | ||
19 | else | ||