Index: src/backend/utils/adt/genfile.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/genfile.c,v retrieving revision 1.5 diff -u -r1.5 genfile.c --- src/backend/utils/adt/genfile.c 15 Aug 2005 23:00:14 -0000 1.5 +++ src/backend/utils/adt/genfile.c 28 Aug 2005 22:32:21 -0000 @@ -62,11 +62,18 @@ if (is_absolute_path(filename)) { + int datadir_len = strlen(DataDir); + int logdir_len = strlen(Log_directory); + /* The log directory might be outside our datadir, but allow it */ - if (is_absolute_path(Log_directory) && - strncmp(filename, Log_directory, strlen(Log_directory)) == 0 && - (filename[strlen(Log_directory)] == '/' || - filename[strlen(Log_directory)] == '\0')) + if ((strncmp(filename, Log_directory, logdir_len) == 0 && + (filename[logdir_len] == '/' || + filename[logdir_len] == '\\' || + filename[logdir_len] == '\0')) || + (strncmp(filename, DataDir, datadir_len) == 0 && + (filename[datadir_len] == '/' || + filename[datadir_len] == '\\' || + filename[datadir_len] == '\0'))) return filename;