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
write_off += in_range_data.size;
if(data.size < page_size)
U64 bytes_to_skip = page_size;
if(page_idx == 0 && range.min > data_vaddr_range.min)
{
U64 missed_byte_count = page_size-data.size;
write_off += missed_byte_count;
bytes_to_skip -= (range.min-data_vaddr_range.min);
}
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);
}
else
else if(dbgi_key.path.size != 0)
{
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);
}