diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 54a2b3bd339c6351d147a264b5f745e07a89d83e..3c54956e70f3b669545121eaf7c5933cfefcb5da 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -210,8 +210,14 @@ SysLoggerMain(int argc, char *argv[]) close(fileno(stderr)); if (fd != -1) { - dup2(fd, fileno(stdout)); - dup2(fd, fileno(stderr)); + if (dup2(fd, fileno(stdout)) < 0) + ereport(FATAL, + (errcode_for_file_access(), + errmsg("could not redirect stdout: %m"))); + if (dup2(fd, fileno(stderr)) < 0) + ereport(FATAL, + (errcode_for_file_access(), + errmsg("could not redirect stderr: %m"))); close(fd); } }