diff --git a/contrib/intarray/_int_tool.c b/contrib/intarray/_int_tool.c
new file mode 100644
index 8635576..fc462b2
*** a/contrib/intarray/_int_tool.c
--- b/contrib/intarray/_int_tool.c
*************** resize_intArrayType(ArrayType *a, int nu
*** 246,251 ****
--- 246,258 ----
  	int			nbytes = ARR_DATA_OFFSET(a) + sizeof(int) * num;
  	int			i;
  
+ 	/* if no elements, return a zero-dimensional array */
+ 	if (num == 0)
+ 	{
+ 		ARR_NDIM(a) = 0;
+ 		return a;
+ 	}
+ 
  	if (num == ARRNELEMS(a))
  		return a;
  
