diff --git a/src/helper/replacements.c b/src/helper/replacements.c
index 769296a016fbdc3deed2bd4495ea873ccce08da4..5804b1973adb2946bf6e3e30e191c92717042ff5 100644
--- a/src/helper/replacements.c
+++ b/src/helper/replacements.c
@@ -19,7 +19,41 @@
  ***************************************************************************/
 #ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
+#endif
+
+/* DANGER!!!! These must be defined *BEFORE* replacements.h and the malloc() macro!!!! */
+
+#include <stdlib.h>
+#include <strings.h>
+/* 
+ * clear_malloc
+ *
+ * will alloc memory and clear it
+ */
+void *clear_malloc(size_t size)
+{
+	void *t = malloc(size);
+	if (t!=NULL)
+	{
+		memset(t, 0x00, size);
+	}
+	return t;
+}
+
+void *fill_malloc(size_t size)
+{
+	void *t = malloc(size);
+	if (t!=NULL)
+	{
+		/* We want to initialize memory to some known bad state.  */
+		/* 0 and 0xff yields 0 and -1 as integers, which often		*/
+		/* have meaningful values. 0x5555... is not often a valid	*/
+		/* integer and is quite easily spotted in the debugger		*/
+		/* also it is almost certainly an invalid address					*/
+		memset(t, 0x55, size);
+	}
+	return t;
+}
 
 #include "replacements.h"
 
diff --git a/src/helper/replacements.h b/src/helper/replacements.h
index 99aaba4396d5b6f34c89065260c574e17f4bc875..7d48e3c64bbc65ba4eb5b3dc96b27f832aebea00 100644
--- a/src/helper/replacements.h
+++ b/src/helper/replacements.h
@@ -67,7 +67,39 @@ struct timezone {
 };
 
 extern int gettimeofday(struct timeval *tv, struct timezone *tz);
-#endif
+#endif
+
+/**** clear_malloc & fill_malloc ****/
+void *clear_malloc(size_t size);
+void *fill_malloc(size_t size);
+
+/*
+ * Now you have 3 ways for the malloc function:
+ *
+ * 1. Do not change anything, use the original malloc
+ *
+ * 2. Use the clear_malloc function instead of the original malloc.
+ *    In this case you must use the following define:
+ *    #define malloc((_a)) clear_malloc((_a))
+ *
+ * 3. Use the fill_malloc function instead of the original malloc.
+ *    In this case you must use the following define:
+ *    #define malloc((_a)) fill_malloc((_a))
+ *
+ * We have figured out that there could exist some malloc problems
+ * where variables are using without to be initialise. To find this
+ * places, use the fill_malloc function. With this function we want 
+ * to initialize memory to some known bad state. This is quite easily 
+ * spotted in the debugger and will trap to an invalid address. 
+ *
+ * clear_malloc can be used if you want to set not initialise 
+ * variable to 0.
+ *
+ * If you do not want to change the malloc function, to not use one of
+ * the following macros. Which is the default way.
+ */
+//#define malloc((_a)) clear_malloc((_a))
+//#define malloc((_a)) fill_malloc((_a))
 
 /* GNU extensions to the C library that may be missing on some systems */
 #ifndef HAVE_STRNDUP