Changeset 8e3498b in mainline for uspace/lib/c/generic/elf/elf_mod.c
- Timestamp:
- 2017-12-04T18:44:24Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bde5c04
- Parents:
- 40feeac
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/elf/elf_mod.c
r40feeac r8e3498b 137 137 elf_header_t *header = &header_buf; 138 138 aoff64_t pos = 0; 139 size_t nr; 139 140 int i, rc; 140 141 141 rc = vfs_read(elf->fd, &pos, header, sizeof(elf_header_t) );142 if (rc != sizeof(elf_header_t)) {142 rc = vfs_read(elf->fd, &pos, header, sizeof(elf_header_t), &nr); 143 if (rc != EOK || nr != sizeof(elf_header_t)) { 143 144 DPRINTF("Read error.\n"); 144 145 return EE_INVALID; … … 199 200 pos = header->e_phoff + i * sizeof(elf_segment_header_t); 200 201 rc = vfs_read(elf->fd, &pos, &segment_hdr, 201 sizeof(elf_segment_header_t) );202 if (rc != sizeof(elf_segment_header_t)) {202 sizeof(elf_segment_header_t), &nr); 203 if (rc != EOK || nr != sizeof(elf_segment_header_t)) { 203 204 DPRINTF("Read error.\n"); 204 205 return EE_INVALID; … … 218 219 pos = header->e_shoff + i * sizeof(elf_section_header_t); 219 220 rc = vfs_read(elf->fd, &pos, §ion_hdr, 220 sizeof(elf_section_header_t) );221 if (rc != sizeof(elf_section_header_t)) {221 sizeof(elf_section_header_t), &nr); 222 if (rc != EOK || nr != sizeof(elf_section_header_t)) { 222 223 DPRINTF("Read error.\n"); 223 224 return EE_INVALID; … … 330 331 size_t mem_sz; 331 332 aoff64_t pos; 332 ssize_t rc; 333 int rc; 334 size_t nr; 333 335 334 336 bias = elf->bias; … … 388 390 */ 389 391 pos = entry->p_offset; 390 rc = vfs_read(elf->fd, &pos, seg_ptr, entry->p_filesz );391 if (rc < 0) {392 rc = vfs_read(elf->fd, &pos, seg_ptr, entry->p_filesz, &nr); 393 if (rc != EOK || nr != entry->p_filesz) { 392 394 DPRINTF("read error\n"); 393 395 return EE_INVALID;
Note:
See TracChangeset
for help on using the changeset viewer.