diff --git a/commands/nand.c b/commands/nand.c index 1e240b6..d3f69b8 100644 --- a/commands/nand.c +++ b/commands/nand.c @@ -62,7 +62,8 @@ bb->offset += bb->info.erasesize; } - now = min(count, bb->info.erasesize); + now = min(count, (size_t)(bb->info.erasesize - + (bb->offset % bb->info.erasesize))); ret = dev_read(bb->physdev, buf, now, bb->offset, flags); if (ret < 0) return ret; @@ -93,7 +94,8 @@ bb->offset += bb->info.erasesize; } - now = min(count, bb->info.erasesize); + now = min(count, (size_t)(bb->info.erasesize - + (bb->offset % bb->info.erasesize))); ret = dev_write(bb->physdev, buf, now, bb->offset, flags); if (ret < 0) return ret;