pgvector.git / summary / log / commit / refs
commit a0eaf70d17d538ce4febc3dfdd2a7a429fc25f42
Author: Andrew Kane <andrew@ankane.org>
Date: Thu Jun 18 18:03:09 2026 +0000
Hardened VectorArraySet [skip ci]
src/ivfflat.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/ivfflat.h b/src/ivfflat.h
index cb07e129..e0c06b7f 100644
--- a/src/ivfflat.h
+++ b/src/ivfflat.h
@@ -309,7 +309,12 @@ VectorArrayGet(VectorArray arr, int offset)
static inline void
VectorArraySet(VectorArray arr, int offset, Pointer val)
{
- memcpy(VectorArrayGet(arr, offset), val, VARSIZE_ANY(val));
+ Size size = VARSIZE_ANY(val);
+
+ if (size > arr->itemsize)
+ elog(ERROR, "safety check failed");
+
+ memcpy(VectorArrayGet(arr, offset), val, size);
}
/* Methods */
[parent: 586e7515bafe]