diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c index 2338bbf44b..cc1a162dac 100644 --- a/contrib/hstore/hstore_op.c +++ b/contrib/hstore/hstore_op.c @@ -1,5 +1,5 @@ /* - * $PostgreSQL: pgsql/contrib/hstore/hstore_op.c,v 1.14 2009/09/30 19:50:22 tgl Exp $ + * $PostgreSQL: pgsql/contrib/hstore/hstore_op.c,v 1.15 2009/09/30 21:26:17 tgl Exp $ */ #include "postgres.h" @@ -1236,8 +1236,10 @@ hstore_hash(PG_FUNCTION_ARGS) * but we make it explicit here. */ Assert(VARSIZE(hs) == - CALCDATASIZE(HS_COUNT(hs), - HSE_ENDPOS(ARRPTR(hs)[2*HS_COUNT(hs) - 1]))); + (HS_COUNT(hs) != 0 ? + CALCDATASIZE(HS_COUNT(hs), + HSE_ENDPOS(ARRPTR(hs)[2*HS_COUNT(hs) - 1])) : + HSHRDSIZE)); PG_FREE_IF_COPY(hs,0); PG_RETURN_DATUM(hval);