diff options
-rw-r--r-- | contrib/intarray/_int_gist.c | 4 | ||||
-rw-r--r-- | contrib/intarray/_intbig_gist.c | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/contrib/intarray/_int_gist.c b/contrib/intarray/_int_gist.c index e8cf24fe47b..e2f1225d2c3 100644 --- a/contrib/intarray/_int_gist.c +++ b/contrib/intarray/_int_gist.c @@ -47,8 +47,10 @@ g_int_consistent(PG_FUNCTION_ARGS) /* sort query for fast search, key is already sorted */ CHECKARRVALID(query); - if (ARRISVOID(query)) + if (ARRISVOID(query)) { + pfree( query ); PG_RETURN_BOOL(false); + } PREPAREARR(query); switch (strategy) diff --git a/contrib/intarray/_intbig_gist.c b/contrib/intarray/_intbig_gist.c index caa0ad48c60..ecd949d87a2 100644 --- a/contrib/intarray/_intbig_gist.c +++ b/contrib/intarray/_intbig_gist.c @@ -510,12 +510,14 @@ g_intbig_consistent(PG_FUNCTION_ARGS) GETSIGN(DatumGetPointer(entry->key)), false); PG_FREE_IF_COPY( query, 1 ); - return retval; + PG_RETURN_BOOL(retval); } CHECKARRVALID(query); - if (ARRISVOID(query)) - return FALSE; + if (ARRISVOID(query)) { + PG_FREE_IF_COPY( query, 1 ); + PG_RETURN_BOOL(FALSE); + } switch (strategy) { |