diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-19 22:00:50 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-19 22:00:50 +0200 |
| commit | 82f783595f654b62ce57a7cfb537d23efce7affc (patch) | |
| tree | 32806d5e2a54c7c47459124c1df15b7e47c8d71b /src/administration_writer.cpp | |
| parent | 3e85a8e6db1a9c9a7fcf7974a1a0307b2cb145bd (diff) | |
fix r/w mem leaks
Diffstat (limited to 'src/administration_writer.cpp')
| -rw-r--r-- | src/administration_writer.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/administration_writer.cpp b/src/administration_writer.cpp index b6428f4..04068e7 100644 --- a/src/administration_writer.cpp +++ b/src/administration_writer.cpp @@ -103,6 +103,7 @@ static bool zip_entry_exists(char* entry) { struct zip_t *zip_read = zip_open(administration::get_file_path(), 0, 'r'); int result = zip_entry_open(zip_read, entry); + zip_entry_close(zip_read); zip_close(zip_read); return result == 0; @@ -519,7 +520,7 @@ bool administration_writer::save_invoice_blocking(invoice inv) strops::format(final_path, 50, "%s.xml", inv.id); int final_length = (int)strops::length(file_content); - if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; + if (!xml_string_is_valid((uint8_t*)file_content, final_length)) result = 0; else if (!write_to_zip(final_path, file_content, final_length)) result = 0; memops::unalloc(file_content); @@ -578,7 +579,7 @@ bool administration_writer::save_project_blocking(project project) strops::format(final_path, 50, "%s.xml", project.id); int final_length = (int)strops::length(file_content); - if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; + if (!xml_string_is_valid((uint8_t*)file_content, final_length)) result = 0; else if (!write_to_zip(final_path, file_content, final_length)) result = 0; memops::unalloc(file_content); @@ -626,7 +627,7 @@ bool administration_writer::save_cost_center_blocking(cost_center cost) strops::format(final_path, 50, "%s.xml", cost.id); int final_length = (int)strops::length(file_content); - if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; + if (!xml_string_is_valid((uint8_t*)file_content, final_length)) result = 0; else if (!write_to_zip(final_path, file_content, final_length)) result = 0; memops::unalloc(file_content); @@ -683,7 +684,7 @@ bool administration_writer::save_tax_rate_blocking(tax_rate rate) strops::format(final_path, 50, "T/%s.xml", rate.internal_code); int final_length = (int)strops::length(file_content); - if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; + if (!xml_string_is_valid((uint8_t*)file_content, final_length)) result = 0; else if (!write_to_zip(final_path, file_content, final_length)) result = 0; memops::unalloc(file_content); @@ -746,7 +747,7 @@ bool administration_writer::save_contact_blocking(contact c) strops::format(final_path, 50, "%s.xml", c.id); int final_length = (int)strops::length(file_content); - if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; + if (!xml_string_is_valid((uint8_t*)file_content, final_length)) result = 0; else if (!write_to_zip(final_path, file_content, final_length)) result = 0; memops::unalloc(file_content); @@ -802,7 +803,7 @@ bool administration_writer::save_all_administration_info_blocking() //// Write to Disk. int final_length = (int)strops::length(file_content); - if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; + if (!xml_string_is_valid((uint8_t*)file_content, final_length)) result = 0; else if (!write_to_zip(ADMIN_FILE_INFO, file_content, final_length)) result = 0; memops::unalloc(file_content); |
