Patchwork [MTD-UTILS] Incorrect loop condition

login
register
mail settings
Submitter Jehan Bing
Date June 6, 2009, 1:45 a.m.
Message ID <4A29CA51.1070906@orb.com>
Download mbox | patch
Permalink /patch/28177/
State Accepted
Commit c94247b97eac8c1b47bd20b3cb1551f9d3e08e68
Headers show

Comments

Jehan Bing - June 6, 2009, 1:45 a.m.
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@orb.com>
Artem Bityutskiy - June 8, 2009, 6:09 a.m.
On Fri, 2009-06-05 at 18:45 -0700, Jehan Bing wrote:
> 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@orb.com>

Pushed, thanks.

Patch

--- 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;