Fix off-by-1 bug in pg_ctl in -D handling, per report from [email protected]
authorNeil Conway
Mon, 6 Dec 2004 01:09:20 +0000 (01:09 +0000)
committerNeil Conway
Mon, 6 Dec 2004 01:09:20 +0000 (01:09 +0000)
src/bin/pg_ctl/pg_ctl.c

index 7a9e29874a8d9c623b545b40d6316402dca27fab..162b435b80083bc9bb56c008c79dbb6a82ba785e 100644 (file)
@@ -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);