cleanup: replace membuffer by membufferpp in C-code

Thus, the membuffer data is automatically freed when going
out of scope - one thing less to worry about.

This fixes one use-after-free bug in uploadDiveLogsDE.cpp
and one extremely questionable practice in divetooltipitem.cpp:
The membuffer was a shared instance across all instances
of the DiveToolTipItem.

Remves unnecessary #include directives in files that didn't
even use membuffer.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-07-20 07:45:31 +02:00 committed by Dirk Hohndel
parent f142e9a9c6
commit 16b31985c3
9 changed files with 9 additions and 21 deletions

View file

@ -65,7 +65,7 @@ void export_TeX(const char *filename, bool selected_only, bool plain, ExportCall
int i;
bool need_pagebreak = false;
struct membuffer buf = {};
struct membufferpp buf;
if (plain) {
ssrf = "";
@ -253,7 +253,6 @@ void export_TeX(const char *filename, bool selected_only, bool plain, ExportCall
flush_buffer(&buf, f); /*check for writing errors? */
fclose(f);
}
free_buffer(&buf);
cb.setProgress(1000);
}
@ -265,7 +264,7 @@ void export_depths(const char *filename, bool selected_only)
int i;
const char *unit = NULL;
struct membuffer buf = {};
struct membufferpp buf;
for_each_dive (i, dive) {
if (selected_only && !dive->selected)
@ -291,7 +290,6 @@ void export_depths(const char *filename, bool selected_only)
flush_buffer(&buf, f); /*check for writing errors? */
fclose(f);
}
free_buffer(&buf);
}
#endif /* ! SUBSURFACE_MOBILE */