From 06cf4aaf714c9ba356753d5b4f6980d67cb6e613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Tr=C3=A1vn=C3=AD=C4=8Dek?= <jan.travnicek@fit.cvut.cz> Date: Tue, 25 Jan 2022 16:29:25 +0100 Subject: [PATCH] cli: fix few memory leaks --- aql2/src/prompt/ReadlinePromptHistory.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/aql2/src/prompt/ReadlinePromptHistory.cpp b/aql2/src/prompt/ReadlinePromptHistory.cpp index e5e95b3faf..1ce2f0a87a 100644 --- a/aql2/src/prompt/ReadlinePromptHistory.cpp +++ b/aql2/src/prompt/ReadlinePromptHistory.cpp @@ -61,7 +61,8 @@ void ReadlinePromptHistory::history_transform ( Callable callable ) { int i = 0; while ( * history ) { char * tmp = callable ( ( * history )->line ); - replace_history_entry ( i, tmp, ( * history )->data ); + HIST_ENTRY * old = replace_history_entry ( i, tmp, ( * history )->data ); + free_history_entry ( old ); free ( tmp ); ++ history; ++ i; @@ -76,6 +77,7 @@ ReadlinePromptHistory::ReadlinePromptHistory ( std::string history_file ) : m_hi ReadlinePromptHistory::~ ReadlinePromptHistory ( ) { ReadlinePromptHistory::writeHistory ( m_history_file ); clear_history ( ); + free ( history_list ( ) ); // Note: this may not be entiery safe, it depends on the implementation of readline (but 5.0 through 8.2-alpha) are safe. } void ReadlinePromptHistory::readHistory ( const std::string & history_file ) { -- GitLab