Commit 9ff7fd90 authored by Andres Freund's avatar Andres Freund

pg_waldump: Fix error message for WAL files smaller than XLOG_BLCKSZ.

When opening a WAL file smaller than XLOG_BLCKSZ (e.g. 0 bytes long) while
determining the wal_segment_size, pg_waldump checked errno, despite errno not
being set by the short read. Resulting in a bogus error message.

Author: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://postgr.es/m/20220214.181847.775024684568733277.horikyota.ntt@gmail.com
Backpatch: 11-, the bug was introducedin fc49e24f
parent 7d80e93f
...@@ -204,15 +204,12 @@ search_directory(const char *directory, const char *fname) ...@@ -204,15 +204,12 @@ search_directory(const char *directory, const char *fname)
WalSegSz), WalSegSz),
fname, WalSegSz); fname, WalSegSz);
} }
else else if (r < 0)
{
if (errno != 0)
fatal_error("could not read file \"%s\": %m", fatal_error("could not read file \"%s\": %m",
fname); fname);
else else
fatal_error("could not read file \"%s\": read %d of %zu", fatal_error("could not read file \"%s\": read %d of %zu",
fname, r, (Size) XLOG_BLCKSZ); fname, r, (Size) XLOG_BLCKSZ);
}
close(fd); close(fd);
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment