diff --git a/parallel_hashmap/phmap_dump.h b/parallel_hashmap/phmap_dump.h index 4c38ab1..bf91c05 100644 --- a/parallel_hashmap/phmap_dump.h +++ b/parallel_hashmap/phmap_dump.h @@ -71,8 +71,10 @@ bool raw_hash_set::phmap_load(InputArchive& ar) { ar.loadBinary(&size_, sizeof(size_t)); ar.loadBinary(&capacity_, sizeof(size_t)); - // allocate memory for ctrl_ and slots_ - initialize_slots(capacity_); + if (capacity_) { + // allocate memory for ctrl_ and slots_ + initialize_slots(capacity_); + } if (size_ == 0) return true; ar.loadBinary(ctrl_, sizeof(ctrl_t) * (capacity_ + Group::kWidth + 1));