firmware-utils/mkzynfw: don't use next_offset twice (closes #7273)
authorGabor Juhos <juhosg@openwrt.org>
Fri, 14 May 2010 09:20:34 +0000 (09:20 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 14 May 2010 09:20:34 +0000 (09:20 +0000)
The test if a file can fit in an image considers the current offset
twice. So a image that would fit is too big.

Thanks-to: Michael Kurz <michi.kurz@googlemail.com>

SVN-Revision: 21445

tools/firmware-utils/src/mkzynfw.c

index 5c1bc24..9018ea1 100644 (file)
@@ -983,7 +983,7 @@ calc_block_offsets(int type, uint32_t *offset)
 
                next_offs = ALIGN(*offset, block->align);
                avail = board->flash_size - board->romio_offs - next_offs;
 
                next_offs = ALIGN(*offset, block->align);
                avail = board->flash_size - board->romio_offs - next_offs;
-               if (next_offs + block->file_size > avail) {
+               if (block->file_size > avail) {
                        ERR("file %s is too big, offset = %u, size=%u,"
                                " align = %u", block->file_name,
                                (unsigned)next_offs,
                        ERR("file %s is too big, offset = %u, size=%u,"
                                " align = %u", block->file_name,
                                (unsigned)next_offs,