fix incorrect advance logic on invalid page reads in cached process memory reading path

This commit is contained in:
Ryan Fleury
2024-11-14 13:08:17 -08:00
parent 8994cb04bc
commit 95fe497056
2 changed files with 9 additions and 5 deletions
+4 -4
View File
@@ -1615,12 +1615,12 @@ ctrl_query_cached_data_from_process_vaddr_range(Arena *arena, CTRL_Handle proces
} }
// rjf: increment past this chunk // rjf: increment past this chunk
write_off += in_range_data.size; U64 bytes_to_skip = page_size;
if(data.size < page_size) if(page_idx == 0 && range.min > data_vaddr_range.min)
{ {
U64 missed_byte_count = page_size-data.size; bytes_to_skip -= (range.min-data_vaddr_range.min);
write_off += missed_byte_count;
} }
write_off += bytes_to_skip;
} }
} }
+5 -1
View File
@@ -3822,10 +3822,14 @@ rd_window_frame(RD_Window *ws)
{ {
ui_labelf("Symbols successfully loaded from %S", dbgi_key.path); ui_labelf("Symbols successfully loaded from %S", dbgi_key.path);
} }
else else if(dbgi_key.path.size != 0)
{ {
ui_labelf("Symbols not found at %S", dbgi_key.path); ui_labelf("Symbols not found at %S", dbgi_key.path);
} }
else if(dbgi_key.path.size == 0)
{
ui_labelf("Symbol information not found in module file");
}
di_scope_close(di_scope); di_scope_close(di_scope);
} }