Mercurial > ecos
comparison packages/redboot/current/src/load.c @ 2329:9279e39bd38d
* src/load.c: Only call valid_address() if
CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS is enabled.
| author | asl |
|---|---|
| date | Thu, 30 Nov 2006 17:03:52 +0000 |
| parents | 467fd46113f3 |
| children | 460b70d39a50 |
comparison
equal
deleted
inserted
replaced
| 2328:9ee188e11ee6 | 2329:9279e39bd38d |
|---|---|
| 420 if ((ch = (*getc)()) < 0) { | 420 if ((ch = (*getc)()) < 0) { |
| 421 err_printf(SHORT_DATA); | 421 err_printf(SHORT_DATA); |
| 422 redboot_getc_terminate(true); | 422 redboot_getc_terminate(true); |
| 423 return 0; | 423 return 0; |
| 424 } | 424 } |
| 425 if (valid_address(addr)) { | 425 #ifdef CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS |
| 426 if (valid_address(addr)) | |
| 427 #endif | |
| 426 *addr++ = ch; | 428 *addr++ = ch; |
| 427 } | 429 |
| 428 #ifdef CYGBLD_REDBOOT_LOAD_INTO_FLASH | 430 #ifdef CYGBLD_REDBOOT_LOAD_INTO_FLASH |
| 429 else { | 431 else { |
| 430 flash_load_write(addr, ch); | 432 flash_load_write(addr, ch); |
| 431 addr++; | 433 addr++; |
| 432 } | 434 } |
| 565 #endif | 567 #endif |
| 566 count -= ((type-'1'+2)+1); | 568 count -= ((type-'1'+2)+1); |
| 567 offset += count; | 569 offset += count; |
| 568 while (count-- > 0) { | 570 while (count-- > 0) { |
| 569 val = _hex2(getc, 1, &sum); | 571 val = _hex2(getc, 1, &sum); |
| 570 if (valid_address(addr)) { | 572 #ifdef CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS |
| 573 if (valid_address(addr)) | |
| 574 #endif | |
| 571 *addr++ = val; | 575 *addr++ = val; |
| 572 } | 576 |
| 573 #ifdef CYGBLD_REDBOOT_LOAD_INTO_FLASH | 577 #ifdef CYGBLD_REDBOOT_LOAD_INTO_FLASH |
| 574 else { | 578 else { |
| 575 flash_load_write(addr, val); | 579 flash_load_write(addr, val); |
| 576 addr++; | 580 addr++; |
| 577 } | 581 } |
