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.
This commit is contained in:
parent
e43fc93428
commit
f6cd85537a
55
backport--Improve-support-for-memory-leak-detection.patch
Normal file
55
backport--Improve-support-for-memory-leak-detection.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: patch
|
Name: patch
|
||||||
Version: 2.7.6
|
Version: 2.7.6
|
||||||
Release: 18
|
Release: 19
|
||||||
Summary: Utiliity which applies a patch file to original files.
|
Summary: Utiliity which applies a patch file to original files.
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.gnu.org/software/patch/patch.html
|
URL: http://www.gnu.org/software/patch/patch.html
|
||||||
@ -19,6 +19,7 @@ Patch10: Test-suite-compatibility-fixes.patch
|
|||||||
Patch11: Test-suite-fix-Korn-shell-incompatibility.patch
|
Patch11: Test-suite-fix-Korn-shell-incompatibility.patch
|
||||||
Patch12: backport-maint-avoid-warnings-from-GCC8.patch
|
Patch12: backport-maint-avoid-warnings-from-GCC8.patch
|
||||||
Patch13: backport-Make-the-debug-2-output-more-useful.patch
|
Patch13: backport-Make-the-debug-2-output-more-useful.patch
|
||||||
|
Patch14: backport--Improve-support-for-memory-leak-detection.patch
|
||||||
|
|
||||||
BuildRequires: gcc libselinux-devel libattr-devel ed
|
BuildRequires: gcc libselinux-devel libattr-devel ed
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-root
|
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-root
|
||||||
@ -61,6 +62,9 @@ CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"
|
|||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Dec 28 2022 Xibo.Wang <wangxb12@chinatelecom.cn> - 2.7.6-19
|
||||||
|
- Improve support for memory leak detection
|
||||||
|
|
||||||
* Wed Dec 28 2022 Xibo.Wang <wangxb12@chinatelecom.cn> - 2.7.6-18
|
* Wed Dec 28 2022 Xibo.Wang <wangxb12@chinatelecom.cn> - 2.7.6-18
|
||||||
- Make the (debug & 2) output more useful
|
- Make the (debug & 2) output more useful
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user