aboutsummaryrefslogtreecommitdiff
path: root/contrib/pg_standby/pg_standby.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pg_standby/pg_standby.c')
-rw-r--r--contrib/pg_standby/pg_standby.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
index cb785971a98..f6058c3735f 100644
--- a/contrib/pg_standby/pg_standby.c
+++ b/contrib/pg_standby/pg_standby.c
@@ -408,9 +408,7 @@ SetWALSegSize(void)
{
bool ret_val = false;
int fd;
-
- /* malloc this buffer to ensure sufficient alignment: */
- char *buf = (char *) pg_malloc(XLOG_BLCKSZ);
+ PGAlignedXLogBlock buf;
Assert(WalSegSz == -1);
@@ -418,14 +416,13 @@ SetWALSegSize(void)
{
fprintf(stderr, "%s: could not open WAL file \"%s\": %s\n",
progname, WALFilePath, strerror(errno));
- pg_free(buf);
return false;
}
errno = 0;
- if (read(fd, buf, XLOG_BLCKSZ) == XLOG_BLCKSZ)
+ if (read(fd, buf.data, XLOG_BLCKSZ) == XLOG_BLCKSZ)
{
- XLogLongPageHeader longhdr = (XLogLongPageHeader) buf;
+ XLogLongPageHeader longhdr = (XLogLongPageHeader) buf.data;
WalSegSz = longhdr->xlp_seg_size;
@@ -462,7 +459,6 @@ SetWALSegSize(void)
fflush(stderr);
close(fd);
- pg_free(buf);
return ret_val;
}