When a none 0xff character is found in the flash buffer, an error message is
printed. This error message claims to provide the offset of the FIRST corrupted
byte but due to a missing break in the for loop, the former code always prints
the offset of the byte immediately after the end of the tested buffer.

Signed-off-by: Cyrille Pitchen <cyrille.pitc...@atmel.com>
---
 fs/jffs2/debug.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/jffs2/debug.c b/fs/jffs2/debug.c
index 1090eb6..07bd5bc 100644
--- a/fs/jffs2/debug.c
+++ b/fs/jffs2/debug.c
@@ -141,12 +141,11 @@ __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info 
*c,
                return;
        }
 
-       ret = 0;
        for (i = 0; i < len; i++)
                if (buf[i] != 0xff)
-                       ret = 1;
+                       break;
 
-       if (ret) {
+       if (i != len) {
                JFFS2_ERROR("argh, about to write node to %#08x on flash, but 
there are data already there. The first corrupted byte is at %#08x offset.\n",
                        ofs, ofs + i);
                __jffs2_dbg_dump_buffer(buf, len, ofs);
-- 
1.8.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to