Skip to content

Commit 9d00ef9

Browse files
committed
rt: Make logging more resilient to null vector pointers (useful when debugging GC)
1 parent bbac2dd commit 9d00ef9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/rt/rust_shape.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,11 +1015,17 @@ class log : public data<log,ptr> {
10151015
prefix("") {}
10161016

10171017
void walk_evec(bool is_pod, uint16_t sp_size) {
1018-
walk_vec(is_pod, get_evec_data_range(dp));
1018+
if (!get_dp<void *>(dp))
1019+
out << prefix << "(null)";
1020+
else
1021+
walk_vec(is_pod, get_evec_data_range(dp));
10191022
}
10201023

10211024
void walk_vec(bool is_pod, uint16_t sp_size) {
1022-
walk_vec(is_pod, get_vec_data_range(dp));
1025+
if (!get_dp<void *>(dp))
1026+
out << prefix << "(null)";
1027+
else
1028+
walk_vec(is_pod, get_vec_data_range(dp));
10231029
}
10241030

10251031
void walk_tag(tag_info &tinfo, uint32_t tag_variant) {

0 commit comments

Comments
 (0)