From 16b31985c3245d5cb3be26f3cc0aa06bc6acb139 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Tue, 20 Jul 2021 07:45:31 +0200 Subject: 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 --- backend-shared/exportfuncs.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'backend-shared') diff --git a/backend-shared/exportfuncs.cpp b/backend-shared/exportfuncs.cpp index 7f15886db..8bcdfdcb0 100644 --- a/backend-shared/exportfuncs.cpp +++ b/backend-shared/exportfuncs.cpp @@ -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 */ -- cgit v1.2.3-70-g09d2