Skip to content

Commit 4ab353c

Browse files
committed
pg_waldump: Fix small memory leak when rmgr->rm_identify returns NULL.
This got broken in 604f795, shortly after rm_identify's introduction. Author: Andres Freund Discussion: https://postgr.es/m/20191029233341.4gnyau7e5v2lh5sc@alap3.anarazel.de Backpatch: 9.5, where rm_identify was introduced
1 parent eae1ba6 commit 4ab353c

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/bin/pg_waldump/pg_waldump.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -533,17 +533,18 @@ XLogDumpDisplayRecord(XLogDumpConfig *config, XLogReaderState *record)
533533

534534
XLogDumpRecordLen(record, &rec_len, &fpi_len);
535535

536-
id = desc->rm_identify(info);
537-
if (id == NULL)
538-
id = psprintf("UNKNOWN (%x)", info & ~XLR_INFO_MASK);
539-
540536
printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %10u, lsn: %X/%08X, prev %X/%08X, ",
541537
desc->rm_name,
542538
rec_len, XLogRecGetTotalLen(record),
543539
XLogRecGetXid(record),
544540
(uint32) (record->ReadRecPtr >> 32), (uint32) record->ReadRecPtr,
545541
(uint32) (xl_prev >> 32), (uint32) xl_prev);
546-
printf("desc: %s ", id);
542+
543+
id = desc->rm_identify(info);
544+
if (id == NULL)
545+
printf("desc: UNKNOWN (%x) ", info & ~XLR_INFO_MASK);
546+
else
547+
printf("desc: %s ", id);
547548

548549
/* the desc routine will printf the description directly to stdout */
549550
desc->rm_desc(NULL, record);

0 commit comments

Comments
 (0)