diff --git a/src/lib_rdi_format/rdi_format_parse.c b/src/lib_rdi_format/rdi_format_parse.c index a2a3fd2f..9a2769fb 100644 --- a/src/lib_rdi_format/rdi_format_parse.c +++ b/src/lib_rdi_format/rdi_format_parse.c @@ -302,6 +302,14 @@ rdi_line_info_idx_from_voff(RDI_ParsedLineTable *line_info, RDI_U64 voff) { RDI_U64 count = 0; RDI_U64 result = rdi_line_info_idx_range_from_voff(line_info, voff, &count); + for(RDI_U64 idx = 0; idx < count && result+idx < line_info->count; idx += 1) + { + if(line_info->lines[result+idx].file_idx != 0) + { + result += idx; + break; + } + } return result; }