pgvector.git / summary / log / commit / refs
commit 1aea0dfcd89ce6b4c8eacb8bae49f9fb787bead2
Author: Andrew Kane <andrew@ankane.org>
Date: Fri Jun 09 01:32:36 2023 +0000
Added element check to binary format and fixed segmentation fault with index creation - fixes #151
src/ivfkmeans.c | 2 +-
src/vector.c | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/ivfkmeans.c b/src/ivfkmeans.c
index 35f32d1d..cddd724a 100644
--- a/src/ivfkmeans.c
+++ b/src/ivfkmeans.c
@@ -251,7 +251,7 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers)
for (j = 0; j < numSamples; j++)
{
minDistance = DBL_MAX;
- closestCenter = -1;
+ closestCenter = 0;
/* Find closest center */
for (k = 0; k < numCenters; k++)
diff --git a/src/vector.c b/src/vector.c
index 392d98a7..5e1e0b65 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -330,7 +330,10 @@ vector_recv(PG_FUNCTION_ARGS)
result = InitVector(dim);
for (i = 0; i < dim; i++)
+ {
result->x[i] = pq_getmsgfloat4(buf);
+ CheckElement(result->x[i]);
+ }
PG_RETURN_POINTER(result);
}
[parent: b6430bae6279]