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]