From b21121cd3d5f2b9045a02a9dd43ff98a102e0def Mon Sep 17 00:00:00 2001
From: Greg Stark <stark@mit.edu>
Date: Mon, 22 Feb 2010 00:11:05 +0000
Subject: [PATCH] Oops, don't forget to rewind the directory before scanning it
 to fsync files in CREATE DATABASE

---
 src/port/copydir.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/port/copydir.c b/src/port/copydir.c
index f2b150d15e9..43fd9359c59 100644
--- a/src/port/copydir.c
+++ b/src/port/copydir.c
@@ -11,7 +11,7 @@
  *	as a service.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/copydir.c,v 1.28 2010/02/15 11:40:49 stark Exp $
+ *	  $PostgreSQL: pgsql/src/port/copydir.c,v 1.29 2010/02/22 00:11:05 stark Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -90,10 +90,12 @@ copydir(char *fromdir, char *todir, bool recurse)
 		else if (S_ISREG(fst.st_mode))
 			copy_file(fromfile, tofile);
 	}
+	Free(xldir);
 
 	/*
 	 * Be paranoid here and fsync all files to ensure we catch problems.
 	 */
+	AllocateDir(fromdir);
 	if (xldir == NULL)
 		ereport(ERROR,
 				(errcode_for_file_access(),
-- 
GitLab