Skip to content

Commit

Permalink
dwarf: fix heap overflow (#3930)
Browse files Browse the repository at this point in the history
  • Loading branch information
imbillow committed Oct 18, 2023
1 parent 6b0fbb6 commit 77778e9
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
1 change: 1 addition & 0 deletions librz/analysis/dwarf_process.c
Original file line number Diff line number Diff line change
Expand Up @@ -1965,6 +1965,7 @@ static bool dwarf_integrate_function(void *user, const ut64 k, const void *value
RzAnalysisDwarfVariable *dw_var;
rz_vector_foreach(&dw_fn->variables, dw_var) {
RzAnalysisVar *var = RZ_NEW0(RzAnalysisVar);
rz_analysis_var_init(var);
if (!RzAnalysisDwarfVariable_as_RzAnalysisVar(analysis, fn, dw_var, var)) {
free(var);
continue;
Expand Down
5 changes: 3 additions & 2 deletions librz/core/cbin.c
Original file line number Diff line number Diff line change
Expand Up @@ -1702,8 +1702,9 @@ static bool bin_dwarf(RzCore *core, RzBinFile *binfile, RzCmdStateOutput *state)
return false;
}

RzBinDWARF *dw = core->analysis->debug_info->dw;
dw = dw ? dw : rz_bin_dwarf_from_file(binfile);
RzBinDWARF *dw = (core->analysis && core->analysis->debug_info && core->analysis->debug_info->dw)
? core->analysis->debug_info->dw
: rz_bin_dwarf_from_file(binfile);
if (!dw) {
return false;
}
Expand Down

0 comments on commit 77778e9

Please sign in to comment.