Added SILC Server library.
[silc.git] / lib / silcutil / stacktrace.c
index eb8f2458e1b468965243cd5206a1f4def588fa72..1a93192647fb7623deba80a6d136677701cbc05a 100644 (file)
 
 */
 
-#include "silcincludes.h"
+#include "silc.h"
 
 #ifdef SILC_STACKTRACE
 
 static void *st_blocks = NULL;
 static unsigned long st_blocks_count = 0;
-static int dump = FALSE;
+static SilcBool dump = FALSE;
+static SilcBool malloc_check = FALSE;
 
 #define SILC_ST_DEPTH 10
 
@@ -62,6 +63,16 @@ void silc_st_stacktrace(SilcStBlock stack)
     dump = TRUE;
   }
 
+  if (!malloc_check) {
+    /* Linux libc malloc check */
+    setenv("MALLOC_CHECK_", "2", 1);
+
+    /* NetBSD malloc check */
+    setenv("MALLOC_OPTIONS", "AJ", 1);
+
+    malloc_check = TRUE;
+  }
+
   /* Save the stack */
   SILC_ST_GET_FP(fp);
   for (stack->depth = 0; fp; stack->depth++) {