summaryrefslogtreecommitdiff
path: root/source4/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib')
-rw-r--r--source4/lib/talloc/talloc.c11
-rw-r--r--source4/lib/talloc/testsuite.c14
2 files changed, 23 insertions, 2 deletions
diff --git a/source4/lib/talloc/talloc.c b/source4/lib/talloc/talloc.c
index cb5e91341e..3650ab7f51 100644
--- a/source4/lib/talloc/talloc.c
+++ b/source4/lib/talloc/talloc.c
@@ -29,6 +29,16 @@
#ifdef _SAMBA_BUILD_
#include "includes.h"
+#if ((SAMBA_VERSION_MAJOR==3)&&(SAMBA_VERSION_MINOR<9))
+/* This is to circumvent SAMBA3's paranoid malloc checker. Here in this file
+ * we trust ourselves... */
+#ifdef malloc
+#undef malloc
+#endif
+#ifdef realloc
+#undef realloc
+#endif
+#endif
#else
#include <stdio.h>
#include <stdlib.h>
@@ -1081,7 +1091,6 @@ void *talloc_autofree_context(void)
return cleanup_context;
}
-
size_t talloc_get_size(const void *context)
{
struct talloc_chunk *tc;
diff --git a/source4/lib/talloc/testsuite.c b/source4/lib/talloc/testsuite.c
index 967874917d..0447749abd 100644
--- a/source4/lib/talloc/testsuite.c
+++ b/source4/lib/talloc/testsuite.c
@@ -35,6 +35,10 @@
/* the test suite can be built standalone, or as part of Samba */
#ifndef _SAMBA_BUILD_
typedef enum {False=0,True=1} BOOL;
+#endif
+
+/* Samba3 does not define the timeval functions below */
+#if !defined(_SAMBA_BUILD_) || ((SAMBA_VERSION_MAJOR==3)&&(SAMBA_VERSION_MINOR<9))
static struct timeval timeval_current(void)
{
@@ -51,6 +55,14 @@ static double timeval_elapsed(struct timeval *tv)
}
#endif /* _SAMBA_BUILD_ */
+#if SAMBA_VERSION_MAJOR<4
+#ifdef malloc
+#undef malloc
+#endif
+#ifdef strdup
+#undef strdup
+#endif
+#endif
#define CHECK_SIZE(ptr, tsize) do { \
if (talloc_total_size(ptr) != (tsize)) { \
@@ -827,7 +839,7 @@ BOOL torture_local_talloc(void)
-#ifndef _SAMBA_BUILD_
+#if !defined(_SAMBA_BUILD_) || ((SAMBA_VERSION_MAJOR==3)&&(SAMBA_VERSION_MINOR<9))
int main(void)
{
if (!torture_local_talloc()) {