diff --git a/nemu/src/utils/elf-parser.c b/nemu/src/utils/elf-parser.c index e6b07e8..f40d5a4 100644 --- a/nemu/src/utils/elf-parser.c +++ b/nemu/src/utils/elf-parser.c @@ -31,7 +31,7 @@ void init_elf(const char *path) { int sym_length = symtab->sh_entsize / sizeof(Elf32_Sym); Elf32_Sym *sym = calloc(sym_length, sizeof(Elf32_Sym)); FAILED_GOTO(failed, fseek(elf_file, symtab->sh_offset, SEEK_SET) != 0); - FAILED_GOTO(failed, fread(&sym, sizeof(Elf32_Sym), sym_length, elf_file) <= 0); + FAILED_GOTO(failed, fread(sym, sizeof(Elf32_Sym), sym_length, elf_file) <= 0); for(int j = 0; j < sym_length; j++) { if(ELF32_ST_TYPE(sym[j].st_info) != STT_FUNC) continue; // Only read function type symbol