diff --git a/src/include/port.h b/src/include/port.h
index 3c98955177c2c390c7ab04a29b21a695276d3df0..9526a0ba386e6aebe18931a3272e409edf3949fc 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/port.h,v 1.36 2004/05/21 05:08:03 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/port.h,v 1.37 2004/05/21 16:06:22 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -60,7 +60,7 @@ extern void get_pkglib_path(const char *my_exec_path, char *ret_path);
 
 /* Portable way to find binaries */
 extern int find_my_exec(const char *argv0, char *retpath);
-extern int find_other_exec(const char *argv0, char const *target,
+extern int find_other_exec(const char *argv0, const char *target,
 						   const char *versionstr, char *retpath);
 #if defined(__CYGWIN__) || defined(WIN32)
 #define EXE ".exe"
diff --git a/src/port/exec.c b/src/port/exec.c
index f45e44e723d2e7d55109408ae4086a19a7fe28f5..74930b284fb8d5e8f46d4989efb99aad933f9694 100644
--- a/src/port/exec.c
+++ b/src/port/exec.c
@@ -7,16 +7,13 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/exec.c,v 1.12 2004/05/20 15:38:11 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/port/exec.c,v 1.13 2004/05/21 16:06:23 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 #ifndef FRONTEND
 #include "postgres.h"
-#define malloc(l)	palloc(l)
-#define free(p)		pfree(p)
-#define strdup(p)	pstrdup(p)
 #else
 #include "postgres_fe.h"
 #endif
@@ -24,13 +21,18 @@
 #include <grp.h>
 #include <pwd.h>
 #include <sys/stat.h>
+#include <sys/wait.h>
 #include <unistd.h>
 
-#include <sys/wait.h>
+#include "miscadmin.h"
 
-#define _(x) gettext((x))
+#define _(x) gettext(x)
 
-#include "miscadmin.h"
+#ifdef FRONTEND
+#undef pstrdup
+#define pstrdup(p)	strdup(p)
+#define pfree(p)	free(p)
+#endif
 
 /* $PATH (or %PATH%) path separator */
 #ifdef WIN32
@@ -58,8 +60,10 @@
 #define log_error(str, param)	fprintf(stderr, (str), (param))
 #endif
 
+
 static void win32_make_absolute(char *path);
 
+
 /*
  * validate_exec -- validate "path" as an executable file
  *
@@ -243,7 +247,7 @@ find_my_exec(const char *argv0, char *retpath)
 	 */
 	if ((p = getenv("PATH")) && *p)
 	{
-		path = strdup(p);		/* make a modifiable copy */
+		path = pstrdup(p);		/* make a modifiable copy */
 		for (startp = path, endp = strchr(path, PATHSEP);
 			 startp && *startp;
 			 startp = endp + 1, endp = strchr(startp, PATHSEP))
@@ -263,19 +267,19 @@ find_my_exec(const char *argv0, char *retpath)
 			{
 				case 0: /* found ok */
 					win32_make_absolute(retpath);
-					free(path);
+					pfree(path);
 					return 0;
 				case -1:		/* wasn't even a candidate, keep looking */
 					break;
 				case -2:		/* found but disqualified */
 					log_error("could not read binary \"%s\"", retpath);
-					free(path);
+					pfree(path);
 					return -1;
 			}
 			if (!endp)			/* last one */
 				break;
 		}
-		free(path);
+		pfree(path);
 	}
 
 	log_error("could not find a \"%s\" to execute", argv0);
@@ -296,8 +300,9 @@ find_my_exec(const char *argv0, char *retpath)
  * Find our binary directory, then make sure the "target" executable
  * is the proper version.
  */
-int find_other_exec(const char *argv0, char const *target,
-					const char *versionstr, char *retpath)
+int
+find_other_exec(const char *argv0, const char *target,
+				const char *versionstr, char *retpath)
 {
 	char		cmd[MAXPGPATH];
 	char		line[100];
@@ -380,8 +385,6 @@ pclose_check(FILE *stream)
 /*
  * Windows doesn't like relative paths to executables (other things work fine)
  * so we call its builtin function to expand them. Elsewhere this is a NOOP
- *
- * Returns malloc'ed memory.
  */
 static void
 win32_make_absolute(char *path)
@@ -391,14 +394,11 @@ win32_make_absolute(char *path)
 
 	if (_fullpath(abspath, path, MAXPGPATH) == NULL)
 	{
-		log_error("Win32 path expansion failed:  %s", strerror(errno));
+		log_error("Win32 path expansion failed: %s", strerror(errno));
 		StrNCpy(abspath, path, MAXPGPATH);
 	}
 	canonicalize_path(abspath);
 
 	StrNCpy(path, abspath, MAXPGPATH);
 #endif
-	return;
 }
-
-