aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/arrayfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-05-22 18:36:48 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-05-22 18:36:48 -0400
commit49ad32d5d99cb4a79bf648c0b7f9eca19b54cf1d (patch)
tree15e5556b9d855aa34f68a60e950eba3b5cdaa047 /src/backend/utils/adt/arrayfuncs.c
parent5302760a50332a684e35b9865ff47ff5fd4970c2 (diff)
downloadpostgresql-49ad32d5d99cb4a79bf648c0b7f9eca19b54cf1d.tar.gz
postgresql-49ad32d5d99cb4a79bf648c0b7f9eca19b54cf1d.zip
Fix recently-introduced crash in array_contain_compare().
Silly oversight in commit 1dc5ebc9077ab742079ce5dac9a6664248d42916: when array2 is an expanded array, it might have array2->xpn.dnulls equal to NULL, indicating the array is known null-free. The code wasn't expecting that, because it formerly always used deconstruct_array() which always delivers a nulls array. Per bug #13334 from Regina Obe.
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
-rw-r--r--src/backend/utils/adt/arrayfuncs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index 82d79977d7a..42cdbc7d6e0 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -4110,7 +4110,7 @@ array_contain_compare(AnyArrayType *array1, AnyArrayType *array2, Oid collation,
for (j = 0; j < nelems2; j++)
{
Datum elt2 = values2[j];
- bool isnull2 = nulls2[j];
+ bool isnull2 = nulls2 ? nulls2[j] : false;
bool oprresult;
if (isnull2)