diff --git a/contrib/pg_tde/src/access/pg_tde_tdemap.c b/contrib/pg_tde/src/access/pg_tde_tdemap.c index feec326eaf0..379e56bc54c 100644 --- a/contrib/pg_tde/src/access/pg_tde_tdemap.c +++ b/contrib/pg_tde/src/access/pg_tde_tdemap.c @@ -522,6 +522,9 @@ pg_tde_create_wal_key(InternalKey *rel_key_data, const RelFileLocator *newrlocat pg_tde_write_key_map_entry(newrlocator, rel_key_data, principal_key); +#ifdef FRONTEND + free(principal_key); +#endif LWLockRelease(tde_lwlock_enc_keys()); } diff --git a/src/bin/pg_resetwal/pg_resetwal.c b/src/bin/pg_resetwal/pg_resetwal.c index 9ce4ac43d3c..3cebcb6adab 100644 --- a/src/bin/pg_resetwal/pg_resetwal.c +++ b/src/bin/pg_resetwal/pg_resetwal.c @@ -408,7 +408,11 @@ main(int argc, char *argv[]) WalSegSz = ControlFile.xlog_seg_size; if (log_fname != NULL) + { XLogFromFileName(log_fname, &minXlogTli, &minXlogSegNo, WalSegSz); + free(log_fname); + } + /* * Also look at existing segment files to set up newXlogSegNo @@ -639,6 +643,8 @@ read_controlfile(void) memcpy(&ControlFile, buffer, sizeof(ControlFile)); + free(buffer); + /* return false if WAL segment size is not valid */ if (!IsValidWalSegSize(ControlFile.xlog_seg_size)) { @@ -652,6 +658,8 @@ read_controlfile(void) return true; } + free(buffer); + /* Looks like it's a mess. */ pg_log_warning("pg_control exists but is broken or wrong version; ignoring it"); return false;