diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/lib/talloc/talloc.c | 11 | ||||
-rw-r--r-- | source4/lib/talloc/testsuite.c | 14 |
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()) { |