| 552 | } |
| 553 | |
| 554 | void parsed_elf_destroy(struct parsed_elf *pelf) |
| 555 | { |
| 556 | Elf64_Half i; |
| 557 | |
| 558 | free(pelf->phdr); |
| 559 | free(pelf->shdr); |
| 560 | if (pelf->relocs != NULL) { |
| 561 | for (i = 0; i < pelf->ehdr.e_shnum; i++) |
| 562 | free(pelf->relocs[i]); |
| 563 | } |
| 564 | free(pelf->relocs); |
| 565 | |
| 566 | if (pelf->strtabs != NULL) { |
| 567 | for (i = 0; i < pelf->ehdr.e_shnum; i++) |
| 568 | free(pelf->strtabs[i]); |
| 569 | } |
| 570 | free(pelf->strtabs); |
| 571 | free(pelf->syms); |
| 572 | } |
| 573 | |
| 574 | /* Get the headers from the buffer. |
| 575 | * Return -1 in the event of an error. |
no test coverage detected