diff options
Diffstat (limited to 'contrib/pg_standby/pg_standby.c')
-rw-r--r-- | contrib/pg_standby/pg_standby.c | 10 |
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; } |