mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Fix off_t overflow in pg_basebackup on Windows.
walmethods.c used off_t to navigate around a pg_wal.tar file that could exceed 2GB, which doesn't work on Windows and would fail with misleading errors. Use pgoff_t instead. Back-patch to all supported branches. Author: Davinder Singh <davinder.singh@enterprisedb.com> Reported-by: Jakub Wartak <jakub.wartak@enterprisedb.com> Discussion: https://postgr.es/m/CAKZiRmyM4YnokK6Oenw5JKwAQ3rhP0YTz2T-tiw5dAQjGRXE3Q%40mail.gmail.com
This commit is contained in:
parent
026762dae3
commit
970b97eeb8
@ -191,7 +191,7 @@ static bool
|
||||
close_walfile(StreamCtl *stream, XLogRecPtr pos)
|
||||
{
|
||||
char *fn;
|
||||
off_t currpos;
|
||||
pgoff_t currpos;
|
||||
int r;
|
||||
char walfile_name[MAXPGPATH];
|
||||
|
||||
|
@ -691,7 +691,7 @@ static const WalWriteMethodOps WalTarMethodOps = {
|
||||
typedef struct TarMethodFile
|
||||
{
|
||||
Walfile base;
|
||||
off_t ofs_start; /* Where does the *header* for this file start */
|
||||
pgoff_t ofs_start; /* Where does the *header* for this file start */
|
||||
char header[TAR_BLOCK_SIZE];
|
||||
size_t pad_to_size;
|
||||
} TarMethodFile;
|
||||
|
@ -17,7 +17,7 @@ typedef struct WalWriteMethod WalWriteMethod;
|
||||
typedef struct
|
||||
{
|
||||
WalWriteMethod *wwmethod;
|
||||
off_t currpos;
|
||||
pgoff_t currpos;
|
||||
char *pathname;
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user