From dd917bb793b27f8c7616f0e64f9a119e8d98eb24 Mon Sep 17 00:00:00 2001
From: Stephen Frost <sfrost@snowman.net>
Date: Wed, 5 Mar 2014 08:50:12 -0500
Subject: [PATCH] Allocate fresh memory for post_opts/exec_path

Instead of having read_post_opts() depend on the memory allocated for
the config file (which is now getting free'd), pg_strdup() for
post_opts and exec_path (similar to how it's being done elsewhere).

Noted by Thom Brown.
---
 src/bin/pg_ctl/pg_ctl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index ff84498a005..0dbaa6e27fe 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -730,10 +730,10 @@ read_post_opts(void)
 				{
 					*arg1 = '\0';		/* terminate so we get only program
 										 * name */
-					post_opts = arg1 + 1;		/* point past whitespace */
+					post_opts = pg_strdup(arg1 + 1); /* point past whitespace */
 				}
 				if (exec_path == NULL)
-					exec_path = optline;
+					exec_path = pg_strdup(optline);
 			}
 
 			/* Free the results of readfile. */
-- 
GitLab