diff options
author | Paul McGougan <PMcGougan@topcon.com> | 2014-04-17 05:09:26 +0000 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2015-09-29 15:48:32 -0700 |
commit | 4a95eddcd1d599eb0d61677dab0e879e5ea51e78 (patch) | |
tree | 15f2c1868586eb670efb585ac8525e5ab025cacd /tests/checkfs | |
parent | 5f50207231414bfdbac8f0f974a2824f24177d6e (diff) |
mtd: tests: Fix endian issue with CRC generation algorithm
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>
[Brian: add endian.h]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'tests/checkfs')
-rw-r--r-- | tests/checkfs/makefiles.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/checkfs/makefiles.c b/tests/checkfs/makefiles.c index 589280b..52fea54 100644 --- a/tests/checkfs/makefiles.c +++ b/tests/checkfs/makefiles.c @@ -26,6 +26,7 @@ The files are opened in the current dir. */ #include <sys/types.h> #include <sys/stat.h> +#include <endian.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> @@ -170,6 +171,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); |