[PATCH] [MTD-UTILS] Incorrect loop condition

Jehan Bing jehan at orb.com
Fri Jun 5 21:45:53 EDT 2009


Small patch to fix an obvious typo.

If the file contains only a few bytes in the last page and the --oob option is selected, the loop may exit early (readlen < meminfo.oobsize).
Most of the time it will still work though because the code tries to read the whole OOB in one chunk.

Signed-off-by: Jehan Bing <jehan at orb.com>

--- a/nandwrite.c	2009-06-01 18:03:55.000000000 -0700
+++ b/nandwrite.c	2009-06-05 18:32:56.000000000 -0700
@@ -531,7 +531,7 @@ int main(int argc, char * const argv[])
 		if (writeoob) {
 			int tinycnt = 0;
 
-			while(tinycnt < readlen) {
+			while(tinycnt < meminfo.oobsize) {
 				cnt = read(ifd, oobreadbuf + tinycnt, meminfo.oobsize - tinycnt);
 				if (cnt == 0) { // EOF
 					break;




More information about the linux-mtd mailing list