Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

parent 59da721a
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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);

	/*