From 7f7f7f287345007aa3860da74e849ca898727e17 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Fri, 18 Oct 2024 11:03:46 -0700 Subject: [PATCH] reserve space for null string --- src/linker/pdb_ext/pdb_builder.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/linker/pdb_ext/pdb_builder.c b/src/linker/pdb_ext/pdb_builder.c index 02e09ef6..0c1727bb 100644 --- a/src/linker/pdb_ext/pdb_builder.c +++ b/src/linker/pdb_ext/pdb_builder.c @@ -506,11 +506,15 @@ internal void pdb_strtab_alloc(PDB_StringTable *strtab, U32 max) { ProfBeginFunction(); + + U64 bucket_max = (U64)((F64)max * 1.3); + bucket_max += 1; // reserve space for null string + strtab->arena = arena_alloc(); strtab->version = 1; strtab->size = 0; strtab->bucket_count = 0; - strtab->bucket_max = (U64)((F64)max * 1.3); + strtab->bucket_max = bucket_max; strtab->ibucket_array = push_array(strtab->arena, U32, strtab->bucket_max); MemorySet(strtab->ibucket_array, 0xff, sizeof(strtab->ibucket_array[0]) * strtab->bucket_max); strtab->bucket_array = push_array(strtab->arena, PDB_StringTableBucket *, strtab->bucket_max);