Fix error handling of XLogReaderAllocate in case of OOM
Fujii Masao <fujii@postgresql.org>
Fix error handling of XLogReaderAllocate in case of OOM Similarly to previous fix 9b8d478, commit 2c03216 has switched XLogReaderAllocate() to use a set of palloc calls instead of malloc, causing any callers of this function to fail with an error instead of receiving a NULL pointer in case of out-of-memory error. Fix this by using palloc_extended with MCXT_ALLOC_NO_OOM that will safely return NULL in case of an OOM. Michael Paquier, slightly modified by me.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/xlog.c | modified | +5 −2 |
| src/backend/access/transam/xlogreader.c | modified | +23 −7 |
| src/backend/replication/logical/logical.c | modified | +5 −0 |
| src/bin/pg_rewind/parsexlog.c | modified | +6 −0 |