diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index 40cd86c1785dcec55a48e197851e48e31f23e5fd..f974cf939d099e2964cb4ae5042719411d97d163 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.105 2003/07/25 20:17:52 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.106 2003/07/27 19:39:13 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -685,8 +685,15 @@ GetUserNameFromId(AclId userid)
 static void
 UnlinkLockFile(int status, Datum filename)
 {
-	unlink((char *) DatumGetPointer(filename));
-	/* Should we complain if the unlink fails? */
+  char *fname = (char *)DatumGetPointer(filename);
+  if( fname != NULL )
+    {
+      if( unlink(fname) != 0 )
+	{
+	  /* Should we complain if the unlink fails? */
+	}
+      free(fname);
+    }
 }
 
 /*