do_coredump(): check return from argv_split()
do_coredump() accesses helper_argv[0] without checking helper_argv != NULL. This can happen if page allocation failed. Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
26e5438e4b
commit
350eaf791b
@@ -1770,6 +1770,11 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs)
|
|||||||
|
|
||||||
if (ispipe) {
|
if (ispipe) {
|
||||||
helper_argv = argv_split(GFP_KERNEL, corename+1, &helper_argc);
|
helper_argv = argv_split(GFP_KERNEL, corename+1, &helper_argc);
|
||||||
|
if (!helper_argv) {
|
||||||
|
printk(KERN_WARNING "%s failed to allocate memory\n",
|
||||||
|
__func__);
|
||||||
|
goto fail_unlock;
|
||||||
|
}
|
||||||
/* Terminate the string before the first option */
|
/* Terminate the string before the first option */
|
||||||
delimit = strchr(corename, ' ');
|
delimit = strchr(corename, ' ');
|
||||||
if (delimit)
|
if (delimit)
|
||||||
|
Reference in New Issue
Block a user