From: Jeremy Allison Date: Mon, 11 Dec 2006 18:56:36 +0000 (+0000) Subject: r20110: Fix interaction between paranoid malloc checker X-Git-Tag: samba-misc-tags/initial-v3-0-unstable~1561 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=67c4d5e73fe066910f7b1ca4624541a9bbbf7750;p=samba.git r20110: Fix interaction between paranoid malloc checker and lib/replace. Found by Herb - thanks ! Jeremy. --- diff --git a/source/lib/util.c b/source/lib/util.c index d1801527e97..9ac0b376123 100644 --- a/source/lib/util.c +++ b/source/lib/util.c @@ -2434,8 +2434,16 @@ char *smb_xstrdup(const char *s) #undef strdup #endif #endif + +#ifndef HAVE_STRDUP +#define strdup rep_strdup +#endif + char *s1 = strdup(s); #if defined(PARANOID_MALLOC_CHECKER) +#ifdef strdup +#undef strdup +#endif #define strdup(s) __ERROR_DONT_USE_STRDUP_DIRECTLY #endif if (!s1) @@ -2455,8 +2463,17 @@ char *smb_xstrndup(const char *s, size_t n) #undef strndup #endif #endif + +#if (defined(BROKEN_STRNDUP) || !defined(HAVE_STRNDUP)) +#undef HAVE_STRNDUP +#define strndup rep_strndup +#endif + char *s1 = strndup(s, n); #if defined(PARANOID_MALLOC_CHECKER) +#ifdef strndup +#undef strndup +#endif #define strndup(s,n) __ERROR_DONT_USE_STRNDUP_DIRECTLY #endif if (!s1)