diff options
Diffstat (limited to 'contrib/intarray')
-rw-r--r-- | contrib/intarray/_int_tool.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/intarray/_int_tool.c b/contrib/intarray/_int_tool.c index a3399874ada..13c5d1e9e24 100644 --- a/contrib/intarray/_int_tool.c +++ b/contrib/intarray/_int_tool.c @@ -208,12 +208,13 @@ ArrayType * new_intArrayType(int num) { ArrayType *r; - int nbytes = ARR_OVERHEAD(NDIM) + sizeof(int) * num; + int nbytes = ARR_OVERHEAD_NONULLS(NDIM) + sizeof(int) * num; r = (ArrayType *) palloc0(nbytes); ARR_SIZE(r) = nbytes; ARR_NDIM(r) = NDIM; + r->dataoffset = 0; /* marker for no null bitmap */ ARR_ELEMTYPE(r) = INT4OID; *((int *) ARR_DIMS(r)) = num; *((int *) ARR_LBOUND(r)) = 1; @@ -224,7 +225,7 @@ new_intArrayType(int num) ArrayType * resize_intArrayType(ArrayType *a, int num) { - int nbytes = ARR_OVERHEAD(NDIM) + sizeof(int) * num; + int nbytes = ARR_OVERHEAD_NONULLS(NDIM) + sizeof(int) * num; if (num == ARRNELEMS(a)) return a; |