diff options
author | Richard Weinberger <richard@nod.at> | 2015-06-01 23:10:50 +0200 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2015-06-16 18:58:47 -0700 |
commit | 641c7925b6ec78466358b654c731050b4179e5f4 (patch) | |
tree | c4a929dfeab7dfc1e063e94f97856bed2c5f8431 /drivers/mtd | |
parent | bc349da0a6b3c6cf795b6a51e3f448d9d16a1686 (diff) | |
download | lwn-641c7925b6ec78466358b654c731050b4179e5f4.tar.gz lwn-641c7925b6ec78466358b654c731050b4179e5f4.zip |
mtd: nandsim: Fix kasprintf() usage
kasprintf() used in get_partition_name() does a dynamic
memory allocation and can fail. We have to handle that case.
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/nandsim.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mtd/nand/nandsim.c b/drivers/mtd/nand/nandsim.c index f2324271b94e..52c0c1a3899c 100644 --- a/drivers/mtd/nand/nandsim.c +++ b/drivers/mtd/nand/nandsim.c @@ -743,6 +743,11 @@ static int init_nandsim(struct mtd_info *mtd) goto error; } ns->partitions[i].name = get_partition_name(i); + if (!ns->partitions[i].name) { + NS_ERR("unable to allocate memory.\n"); + ret = -ENOMEM; + goto error; + } ns->partitions[i].offset = next_offset; ns->partitions[i].size = part_sz; next_offset += ns->partitions[i].size; @@ -756,6 +761,11 @@ static int init_nandsim(struct mtd_info *mtd) goto error; } ns->partitions[i].name = get_partition_name(i); + if (!ns->partitions[i].name) { + NS_ERR("unable to allocate memory.\n"); + ret = -ENOMEM; + goto error; + } ns->partitions[i].offset = next_offset; ns->partitions[i].size = remains; ns->nbparts += 1; |