From 92647fc4b9cd7406afb2ee240a20082ba6097177 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 21 Apr 2011 19:28:36 -0400
Subject: [PATCH] Avoid possible divide-by-zero in gincostestimate.

Per report from Jeff Janes.
---
 src/backend/utils/adt/selfuncs.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index 4d800f8a007..fa8cecafcbe 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -6458,6 +6458,10 @@ gincostestimate(PG_FUNCTION_ARGS)
 		numDataPages = Min(numDataPages, numPages - numEntryPages);
 	}
 
+	/* In an empty index, numEntries could be zero.  Avoid divide-by-zero */
+	if (numEntries < 1)
+		numEntries = 1;
+
 	/*
 	 * Include predicate in selectivityQuals (should match
 	 * genericcostestimate)
-- 
GitLab