[PATCH] libmtd: avoid divide by zero
Chris Packham
chris.packham at alliedtelesis.co.nz
Thu Nov 26 17:41:08 EST 2020
Some mtd-ram devices report 0 for the erase block size. Avoid a divide
by zero when calculating the erase block count for such devices.
Signed-off-by: Chris Packham <chris.packham at alliedtelesis.co.nz>
---
lib/libmtd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/libmtd.c b/lib/libmtd.c
index 9d8d0e8..8aa1cb1 100644
--- a/lib/libmtd.c
+++ b/lib/libmtd.c
@@ -791,7 +791,8 @@ int mtd_get_dev_info1(libmtd_t desc, int mtd_num, struct mtd_dev_info *mtd)
return -1;
mtd->writable = !!(ret & MTD_WRITEABLE);
- mtd->eb_cnt = mtd->size / mtd->eb_size;
+ if (mtd->eb_size)
+ mtd->eb_cnt = mtd->size / mtd->eb_size;
mtd->type = type_str2int(mtd->type_str);
mtd->bb_allowed = !!(mtd->type == MTD_NANDFLASH ||
mtd->type == MTD_MLCNANDFLASH);
--
2.29.2
More information about the linux-mtd
mailing list