|
From: <oh...@ma...> - 2009-02-19 19:58:50
|
Author: oharboe
Date: 2009-02-19 19:52:46 +0100 (Thu, 19 Feb 2009)
New Revision: 1377
Modified:
trunk/src/flash/flash.c
Log:
John Woods <jo...@gm...> fix checks for addresses at upper end of the universe
Modified: trunk/src/flash/flash.c
===================================================================
--- trunk/src/flash/flash.c 2009-02-18 09:09:11 UTC (rev 1376)
+++ trunk/src/flash/flash.c 2009-02-19 18:52:46 UTC (rev 1377)
@@ -950,7 +950,7 @@
}
/* check whether it fits */
- if (addr + length > c->base + c->size)
+ if (addr + length - 1 > c->base + c->size - 1)
return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
addr -= c->base;
@@ -1030,7 +1030,7 @@
section_first = section;
section_last = section;
padding[section] = 0;
- while ((run_address + run_size < c->base + c->size)
+ while ((run_address + run_size - 1 < c->base + c->size - 1)
&& (section_last + 1 < image->num_sections))
{
if (image->sections[section_last + 1].base_address < (run_address + run_size))
@@ -1052,7 +1052,7 @@
}
/* fit the run into bank constraints */
- if (run_address + run_size > c->base + c->size)
+ if (run_address + run_size - 1 > c->base + c->size - 1)
{
LOG_WARNING("writing %d bytes only - as image section is %d bytes and bank is only %d bytes", \
c->base + c->size - run_address, run_size, c->size);
|