commit 30daf4d43fb393bb13ef73482ea6bcf3347444e6
parent 24d6b7fcf790f5f5af2c69f549802ab2eb996a00
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 6 Aug 2015 09:01:33 +0000
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
Diffstat:
3 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-06 Benno Schulenberg <bensberg@justemail.net>
+ * 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 <bensberg@justemail.net>
* 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
@@ -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
@@ -54,6 +54,10 @@
#include <stdarg.h>
#endif
+#ifdef DEBUG
+#include <malloc.h>
+#endif
+
/* Suppress warnings for __attribute__((warn_unused_result)). */
#define IGNORE_CALL_RESULT(call) do { if (call) {} } while(0)