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 }