From d7c1ea171de018d025ab5de57f572a9353b02fdf Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Mon, 23 Mar 2020 18:50:40 -0300
Subject: [PATCH 3/5] reduce palloc+strlcpy to pnstrdup

---
 src/backend/utils/adt/multirangetypes.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/backend/utils/adt/multirangetypes.c b/src/backend/utils/adt/multirangetypes.c
index 6e9cf77651..5b57416cfd 100644
--- a/src/backend/utils/adt/multirangetypes.c
+++ b/src/backend/utils/adt/multirangetypes.c
@@ -167,9 +167,8 @@ multirange_in(PG_FUNCTION_ARGS)
 					parse_state = MULTIRANGE_IN_RANGE_ESCAPED;
 				else if (ch == ']' || ch == ')')
 				{
-					range_str_len = ptr - range_str + 2;
-					range_str_copy = palloc0(range_str_len);
-					strlcpy(range_str_copy, range_str, range_str_len);
+					range_str_len = ptr - range_str + 1;
+					range_str_copy = pnstrdup(range_str, range_str_len);
 					if (range_capacity == range_count)
 					{
 						range_capacity *= 2;
-- 
2.20.1

