When building with the address sanitizer on, free some more resources before exiting. (This is unnecessary when not looking for memory leaks.) * src/patch.c (init_files_to_delete): Add dispose function for freeing filenames.
56 lines
1.4 KiB
Diff
56 lines
1.4 KiB
Diff
From 312b793db6f549a3d4036b5d0ed2265c451ede15 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Gruenbacher <agruen@gnu.org>
|
|
Date: Thu, 27 Jun 2019 11:02:02 +0200
|
|
Subject: [PATCH] Improve support for memory leak detection
|
|
|
|
When building with the address sanitizer on, free some more resources before
|
|
exiting. (This is unnecessary when not looking for memory leaks.)
|
|
* src/patch.c (init_files_to_delete): Add dispose function for freeing
|
|
filenames.
|
|
|
|
Signed-off-by: Xibo.Wang <wangxb12@chinatelecom.cn>
|
|
---
|
|
src/patch.c | 16 +++++++++++++++-
|
|
1 file changed, 15 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/patch.c b/src/patch.c
|
|
index 99a5904..e57cf19 100644
|
|
--- a/src/patch.c
|
|
+++ b/src/patch.c
|
|
@@ -36,6 +36,10 @@
|
|
#include <minmax.h>
|
|
#include <safe.h>
|
|
|
|
+#ifdef __SANITIZE_ADDRESS__
|
|
+# define FREE_BEFORE_EXIT
|
|
+#endif
|
|
+
|
|
/* procedures */
|
|
|
|
static FILE *create_output_file (char const *, int);
|
|
@@ -1777,10 +1781,20 @@ struct file_to_delete {
|
|
|
|
static gl_list_t files_to_delete;
|
|
|
|
+#ifdef FREE_BEFORE_EXIT
|
|
+void dispose_file_to_delete (const void *elt)
|
|
+{
|
|
+ free ((void *) elt);
|
|
+}
|
|
+#else
|
|
+#define dispose_file_to_delete NULL
|
|
+#endif
|
|
+
|
|
static void
|
|
init_files_to_delete (void)
|
|
{
|
|
- files_to_delete = gl_list_create_empty (GL_LINKED_LIST, NULL, NULL, NULL, true);
|
|
+ files_to_delete = gl_list_create_empty (GL_LINKED_LIST, NULL, NULL,
|
|
+ dispose_file_to_delete, true);
|
|
}
|
|
|
|
static void
|
|
--
|
|
1.8.3.1
|
|
|