Signed-off-by: Ladislav Michl <la...@linux-mips.org>

---
 board/netstar/crcit.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/board/netstar/crcit.c b/board/netstar/crcit.c
index e0cea9b..0eef41a 100644
--- a/board/netstar/crcit.c
+++ b/board/netstar/crcit.c
@@ -56,13 +56,14 @@ static int do_crc(char *path, unsigned version)
                fprintf(stderr, "File too large\n");
                return EXIT_FAILURE;
        }
-       size = (size + 3) & ~3; /* round up to 4 bytes */
-       data[0] = size + 4;     /* add size of version field */
+       size  = (size + 3) & ~3;        /* round up to 4 bytes */
+       size += 4;                      /* add size of version field */
+       data[0] = size;
        data[1] = version;
-       data[2 + (size >> 2)] = crc32(0, (unsigned char *)(data + 1), data[0]);
+       data[size/4 + 1] = crc32(0, (unsigned char *)(data + 1), size);
        close(fd);
 
-       if (write(STDOUT_FILENO, data, size + 3*4) == -1) {
+       if (write(STDOUT_FILENO, data, size + 4 /*size*/ + 4 /*crc*/) == -1) {
                perror("Error writing file");
                return EXIT_FAILURE;
        }
-- 
1.5.3.8

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to