From: Neil Conway <neilc@samurai.com>
Date: Mon, 6 Dec 2004 01:09:20 +0000 (+0000)
Subject: Fix off-by-1 bug in pg_ctl in -D handling, per report from pjmodos@parba.cz
X-Git-Tag: REL8_0_0RC2~91
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b3f3092caddeff11dcd520d2038d44b4f1f2ac83;p=postgresql

Fix off-by-1 bug in pg_ctl in -D handling, per report from pjmodos@parba.cz
---

diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index 7a9e29874a..162b435b80 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -4,7 +4,7 @@
  *
  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.48 2004/11/27 18:51:05 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.49 2004/12/06 01:09:20 neilc Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1289,10 +1289,10 @@ main(int argc, char **argv)
 			{
 				case 'D':
 					{
-						char	   *pgdata_D = xmalloc(strlen(optarg));
+						char	   *pgdata_D;
 						char	   *env_var = xmalloc(strlen(optarg) + 8);
 
-						strcpy(pgdata_D, optarg);
+						pgdata_D = xstrdup(optarg);
 						canonicalize_path(pgdata_D);
 						snprintf(env_var, strlen(optarg) + 8, "PGDATA=%s",
 								 pgdata_D);