Commit e21f6c02 authored by David Woodhouse's avatar David Woodhouse Committed by Thomas Gleixner

[MTD] Missing check on kmalloc return in INFTL mount.

Signed-off-by: default avatarYoussef Hmamouche <hyoussef@gmail.com>
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 59da721a
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Author: Fabrice Bellard (fabrice.bellard@netgem.com) * Author: Fabrice Bellard (fabrice.bellard@netgem.com)
* Copyright (C) 2000 Netgem S.A. * 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 * 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 * it under the terms of the GNU General Public License as published by
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
#include <linux/mtd/inftl.h> #include <linux/mtd/inftl.h>
#include <linux/mtd/compatmac.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 * find_boot_record: Find the INFTL Media Header and its Spare copy which
...@@ -563,7 +563,7 @@ int INFTL_mount(struct INFTLrecord *s) ...@@ -563,7 +563,7 @@ int INFTL_mount(struct INFTLrecord *s)
/* Search for INFTL MediaHeader and Spare INFTL Media Header */ /* Search for INFTL MediaHeader and Spare INFTL Media Header */
if (find_boot_record(s) < 0) { if (find_boot_record(s) < 0) {
printk(KERN_WARNING "INFTL: could not find valid boot record?\n"); printk(KERN_WARNING "INFTL: could not find valid boot record?\n");
return -1; return -ENXIO;
} }
/* Init the logical to physical table */ /* Init the logical to physical table */
...@@ -574,6 +574,11 @@ int INFTL_mount(struct INFTLrecord *s) ...@@ -574,6 +574,11 @@ int INFTL_mount(struct INFTLrecord *s)
/* Temporary buffer to store ANAC numbers. */ /* Temporary buffer to store ANAC numbers. */
ANACtable = kmalloc(s->nb_blocks * sizeof(u8), GFP_KERNEL); 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); memset(ANACtable, 0, s->nb_blocks);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment