fixed memory leak in CSVParser::parse() - a Space struct was allocated but never freed

This commit is contained in:
2021-05-19 22:31:18 +02:00
parent 604b47db32
commit f8d24de386
3 changed files with 30 additions and 12 deletions

View File

@@ -161,16 +161,16 @@ void CSVParser::parse()
*
*/
Space * row_space = new Space();
row_space->set_empty_table();
Space row_space;
row_space.set_empty_table();
parse_row(row_space);
space->add(row_space);
space->add(std::move(row_space));
}
}
void CSVParser::parse_row(Space * row_space)
void CSVParser::parse_row(Space & row_space)
{
bool continue_reading;
@@ -182,9 +182,9 @@ void CSVParser::parse_row(Space * row_space)
}
bool CSVParser::read_value_to(Space * row_space)
bool CSVParser::read_value_to(Space & row_space)
{
Space & space_value = row_space->add_empty_space();
Space & space_value = row_space.add_empty_space();
space_value.set_empty_wstring();
if( lastc == '"' )

View File

@@ -135,9 +135,9 @@ protected:
void parse();
void parse_row(Space * row_space);
void parse_row(Space & row_space);
bool read_value_to(Space * row_space);
bool read_value_to(Space & row_space);
bool read_quoted_value_to(std::wstring & value);
bool read_non_quoted_value_to(std::wstring & value);