X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fimage.c;h=0ffa5fd3d9b6d96d394b5d19fb869a82826e491a;hp=40b320fad76f78b4d2cbbc56ed88fb3a832fe235;hb=6d1d58a1fc3dfd60e9cac89460b5a6e438d11efa;hpb=fb1a9b2cb2f844a17d26dfeb3d26849364d93e26 diff --git a/src/target/image.c b/src/target/image.c index 40b320fad7..0ffa5fd3d9 100644 --- a/src/target/image.c +++ b/src/target/image.c @@ -414,12 +414,12 @@ static int image_elf_read_headers(image_t *image) /* count useful segments (loadable), ignore BSS section */ image->num_sections = 0; - for (i = 0;isegment_count;i++) + for (i = 0;i < elf->segment_count;i++) if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0)) image->num_sections++; /* alloc and fill sections array with loadable segments */ image->sections = malloc(image->num_sections * sizeof(image_section_t)); - for (i = 0,j = 0;isegment_count;i++) + for (i = 0,j = 0;i < elf->segment_count;i++) { if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0)) { @@ -449,7 +449,7 @@ static int image_elf_read_section(image_t *image, int section, uint32_t offset, LOG_DEBUG("load segment %d at 0x%" PRIx32 " (sz = 0x%" PRIx32 ")",section,offset,size); /* read initialized data in current segment if any */ - if (offsetp_filesz)) + if (offset < field32(elf,segment->p_filesz)) { /* maximal size present in file for the current segment */ read_size = MIN(size, field32(elf,segment->p_filesz)-offset); @@ -1015,10 +1015,10 @@ int image_calculate_checksum(uint8_t* buffer, uint32_t nbytes, uint32_t* checksu crc32_table[i] = c; } - while (nbytes>0) + while (nbytes > 0) { int run = nbytes; - if (run>32768) + if (run > 32768) { run = 32768; }