[PATCH] mtd: tests: Fix endian issue with CRC generation algorithm

Paul McGougan PMcGougan at topcon.com
Wed Apr 16 22:09:26 PDT 2014


The calculation of the CRC in /tests/checkfs/makefiles.c was writing the CRC
Into the produced files in host byte-order which would cause CRC validation
to fail on big-endian systems as the validation is performed bytewise.

Signed-off-by: Paul McGougan <pmcgougan AT topcon.com>
---
tests/checkfs/makefiles.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/checkfs/makefiles.c b/tests/checkfs/makefiles.c
index 662fe86..050ea60 100644
--- a/tests/checkfs/makefiles.c
+++ b/tests/checkfs/makefiles.c
@@ -170,6 +170,7 @@ void checksum(char *filename){
     printf("Error! Cannot open filename to update checksum: %s\n",filename);
     exit(1);
   }
+  crc = htole16(crc);
   if(fwrite(&crc, sizeof(crc), 1, fp) != 1){
     printf("error! unable to update the file for checksum.\n");
     fclose(fp);


Confidentiality Notice:  This message (including attachments) is a private communication solely for use of the intended recipient(s).  
If you are not the intended recipient(s) or believe you received this message in error, notify the sender immediately and then delete this 
message.  Any other use, retention, dissemination or copying is prohibited and may be a violation of law, including the Electronic 
Communication Privacy Act of 1986."



More information about the linux-mtd mailing list