Skip to content

Commit 65b5176

Browse files
committed
allocate extra slot for nil in global vmap baking; was causing overwrites of keys/markers before!
1 parent e61dfd7 commit 65b5176

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/lib_rdi_make/rdi_make.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,7 +1129,7 @@ rdim_bake_vmap_from_markers(RDIM_Arena *arena, RDIM_VMapMarker *markers, RDIM_So
11291129

11301130
//- rjf: fill output vmap entries
11311131
RDI_U32 vmap_count_raw = marker_count - 1 + extra_vmap_entry;
1132-
RDI_VMapEntry *vmap = rdim_push_array_no_zero(arena, RDI_VMapEntry, vmap_count_raw + 1);
1132+
RDI_VMapEntry *vmap = rdim_push_array(arena, RDI_VMapEntry, vmap_count_raw + 1);
11331133
RDI_U32 vmap_entry_count_pass_1 = 0;
11341134
{
11351135
typedef struct RDIM_VMapRangeTracker RDIM_VMapRangeTracker;
@@ -3057,7 +3057,7 @@ rdim_bake_global_vmap(RDIM_Arena *arena, RDIM_SymbolChunkList *src)
30573057
RDIM_Temp scratch = rdim_scratch_begin(&arena, 1);
30583058

30593059
//- rjf: allocate keys/markers
3060-
RDI_U64 marker_count = src->total_count*2;
3060+
RDI_U64 marker_count = src->total_count*2 + 2;
30613061
RDIM_SortKey *keys = rdim_push_array_no_zero(scratch.arena, RDIM_SortKey, marker_count);
30623062
RDIM_VMapMarker *markers = rdim_push_array_no_zero(scratch.arena, RDIM_VMapMarker, marker_count);
30633063

0 commit comments

Comments
 (0)