From 30daf4d43fb393bb13ef73482ea6bcf3347444e6 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Thu, 6 Aug 2015 09:01:33 +0000 Subject: [PATCH] Letting malloc() help to find initialization failures and uses-after-free. Change was suggested by Mike Frysinger. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5345 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 5 +++++ src/nano.c | 6 ++++++ src/nano.h | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index cce23177..df2754d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-08-06 Benno Schulenberg + * src/nano.c (main): For --enable-debug builds, let malloc() help + to find initialization failures and uses-after-free. Suggested by + Mike Frysinger. + 2015-08-04 Benno Schulenberg * src/nano.c (main), src/files.c (read_file), src/rcfile.c, doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Add diff --git a/src/nano.c b/src/nano.c index e95b9a98..69c1d225 100644 --- a/src/nano.c +++ b/src/nano.c @@ -2196,6 +2196,12 @@ int main(int argc, char **argv) }; #endif +#ifdef DEBUG + /* Help to find failed-to-initialize and use-after-free problems. */ + mallopt(M_CHECK_ACTION, 3); + mallopt(M_PERTURB, 0x4c); +#endif + #ifdef ENABLE_UTF8 { /* If the locale set exists and uses UTF-8, we should use diff --git a/src/nano.h b/src/nano.h index 2fb93990..4346eff5 100644 --- a/src/nano.h +++ b/src/nano.h @@ -54,6 +54,10 @@ #include #endif +#ifdef DEBUG +#include +#endif + /* Suppress warnings for __attribute__((warn_unused_result)). */ #define IGNORE_CALL_RESULT(call) do { if (call) {} } while(0) -- 2.39.5