dechaoqiu / atosl

atos for linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crash on mac

zhuolaiqiang opened this issue · comments

void free_dwarf_abbrev_hash(struct dwarf2_per_objfile *dwarf2_per_objfile){
if(dwarf2_per_objfile->dwarf2_abbrevs == NULL){
return;
}
int i = 0;
while(i < ABBREV_HASH_SIZE){
struct abbrev_info *dwarf2_abbrevs= dwarf2_per_objfile->dwarf2_abbrevs[i];
struct abbrev_info *current = dwarf2_abbrevs;
while(current != NULL){
current = current->next;
free(current);
}
i++;
}
free(dwarf2_per_objfile->dwarf2_abbrevs);
}

“ free(current);” crash,why?do you know?

i modify this
void free_dwarf_abbrev_hash(struct dwarf2_per_objfile *dwarf2_per_objfile){
if(dwarf2_per_objfile->dwarf2_abbrevs == NULL){
return;
}
int i = 0;
while(i < ABBREV_HASH_SIZE){
struct abbrev_info *dwarf2_abbrevs= dwarf2_per_objfile->dwarf2_abbrevs[i];
struct abbrev_info *current = dwarf2_abbrevs;
while(current != NULL){
struct abbrev_info *current_next = current->next;
free(current);
current = current_next;
}
i++;
}
free(dwarf2_per_objfile->dwarf2_abbrevs);
}

code is ok?

Yeah, Looks good. Thank you.