Commit 641c7925 authored by Richard Weinberger's avatar Richard Weinberger Committed by Brian Norris

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: default avatarRichard Weinberger <richard@nod.at>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent bc349da0
...@@ -743,6 +743,11 @@ static int init_nandsim(struct mtd_info *mtd) ...@@ -743,6 +743,11 @@ static int init_nandsim(struct mtd_info *mtd)
goto error; goto error;
} }
ns->partitions[i].name = get_partition_name(i); 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].offset = next_offset;
ns->partitions[i].size = part_sz; ns->partitions[i].size = part_sz;
next_offset += ns->partitions[i].size; next_offset += ns->partitions[i].size;
...@@ -756,6 +761,11 @@ static int init_nandsim(struct mtd_info *mtd) ...@@ -756,6 +761,11 @@ static int init_nandsim(struct mtd_info *mtd)
goto error; goto error;
} }
ns->partitions[i].name = get_partition_name(i); 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].offset = next_offset;
ns->partitions[i].size = remains; ns->partitions[i].size = remains;
ns->nbparts += 1; ns->nbparts += 1;
......
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