diff --git a/src/hnswbuild.c b/src/hnswbuild.c index 2e44031..f5ea264 100644 --- a/src/hnswbuild.c +++ b/src/hnswbuild.c @@ -267,6 +267,9 @@ WriteNeighborTuples(HnswBuildState * buildstate) /* Update iterator */ iter = e->next; + /* Zero memory for each element */ + MemSet(ntup, 0, HNSW_TUPLE_ALLOC_SIZE); + /* Can take a while, so ensure we can interrupt */ /* Needs to be called when no buffer locks are held */ CHECK_FOR_INTERRUPTS(); diff --git a/src/hnswvacuum.c b/src/hnswvacuum.c index fb8ec4f..71ccea5 100644 --- a/src/hnswvacuum.c +++ b/src/hnswvacuum.c @@ -208,6 +208,9 @@ RepairGraphElement(HnswVacuumState * vacuumstate, HnswElement element, HnswEleme /* Find neighbors for element, skipping itself */ HnswFindElementNeighbors(base, element, entryPoint, index, procinfo, collation, m, efConstruction, true); + /* Zero memory for each element */ + MemSet(ntup, 0, HNSW_TUPLE_ALLOC_SIZE); + /* Update neighbor tuple */ /* Do this before getting page to minimize locking */ HnswSetNeighborTuple(base, ntup, element, m);