mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
[MTD] Missing check on kmalloc return in INFTL mount.
Signed-off-by: Youssef Hmamouche <hyoussef@gmail.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
59da721a22
commit
e21f6c02f7
@ -8,7 +8,7 @@
|
||||
* Author: Fabrice Bellard (fabrice.bellard@netgem.com)
|
||||
* Copyright (C) 2000 Netgem S.A.
|
||||
*
|
||||
* $Id: inftlmount.c,v 1.16 2004/11/22 13:50:53 kalev Exp $
|
||||
* $Id: inftlmount.c,v 1.17 2005/08/08 08:56:19 dwmw2 Exp $
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -41,7 +41,7 @@
|
||||
#include <linux/mtd/inftl.h>
|
||||
#include <linux/mtd/compatmac.h>
|
||||
|
||||
char inftlmountrev[]="$Revision: 1.16 $";
|
||||
char inftlmountrev[]="$Revision: 1.17 $";
|
||||
|
||||
/*
|
||||
* find_boot_record: Find the INFTL Media Header and its Spare copy which
|
||||
@ -563,7 +563,7 @@ int INFTL_mount(struct INFTLrecord *s)
|
||||
/* Search for INFTL MediaHeader and Spare INFTL Media Header */
|
||||
if (find_boot_record(s) < 0) {
|
||||
printk(KERN_WARNING "INFTL: could not find valid boot record?\n");
|
||||
return -1;
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
/* Init the logical to physical table */
|
||||
@ -574,6 +574,11 @@ int INFTL_mount(struct INFTLrecord *s)
|
||||
|
||||
/* Temporary buffer to store ANAC numbers. */
|
||||
ANACtable = kmalloc(s->nb_blocks * sizeof(u8), GFP_KERNEL);
|
||||
if (!ANACtable) {
|
||||
printk(KERN_ERR "INFTL: Out of memory.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
memset(ANACtable, 0, s->nb_blocks);
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user