char *curr_sym_str = NULL;
char *symbol_table_data = NULL;
char *string_table_data = NULL;
- char *string_table_name = NULL;
+ const char *string_table_name = NULL;
struct lttng_elf_shdr symtab_hdr;
struct lttng_elf_shdr strtab_hdr;
struct lttng_elf *elf = NULL;
}
/* Get the number of symbol in the table for the iteration. */
+ if (symtab_hdr.sh_entsize == 0) {
+ DBG("Invalid ELF string table entry size.");
+ ret = LTTNG_ERR_ELF_PARSING;
+ goto free_symbol_table_data;
+ }
+
sym_count = symtab_hdr.sh_size / symtab_hdr.sh_entsize;
/* Loop over all symbol. */