pg_waldump: Fix small memory leak when rmgr->rm_identify returns NULL.

This got broken in 604f7956b9, 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
This commit is contained in:
Andres Freund 2019-10-29 19:18:07 -07:00
parent 6ca86bb7e9
commit e0f76f204c
1 changed files with 6 additions and 5 deletions

View File

@ -517,17 +517,18 @@ XLogDumpDisplayRecord(XLogDumpConfig *config, XLogReaderState *record)
XLogDumpRecordLen(record, &rec_len, &fpi_len);
id = desc->rm_identify(info);
if (id == NULL)
id = psprintf("UNKNOWN (%x)", info & ~XLR_INFO_MASK);
printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %10u, lsn: %X/%08X, prev %X/%08X, ",
desc->rm_name,
rec_len, XLogRecGetTotalLen(record),
XLogRecGetXid(record),
(uint32) (record->ReadRecPtr >> 32), (uint32) record->ReadRecPtr,
(uint32) (xl_prev >> 32), (uint32) xl_prev);
printf("desc: %s ", id);
id = desc->rm_identify(info);
if (id == NULL)
printf("desc: UNKNOWN (%x) ", info & ~XLR_INFO_MASK);
else
printf("desc: %s ", id);
/* the desc routine will printf the description directly to stdout */
desc->rm_desc(NULL, record);