Dsearch: Fix taint-handling in lookup. Bug 2465
[users/jgh/exim.git] / src / src / string.c
index a954396512723624ff777e457789e84f9dfd1641..007ec877ef5d1c491527e210ab2b8e778ab283ba 100644 (file)
@@ -411,7 +411,7 @@ return ss;
 
 
 
-#ifdef HAVE_LOCAL_SCAN
+#if defined(HAVE_LOCAL_SCAN) && !defined(MACRO_PREDEF) && !defined(COMPILE_UTILITY)
 /*************************************************
 *            Copy and save string                *
 *************************************************/
@@ -432,7 +432,7 @@ As above, but explicitly specifying the result taint status
 */
 
 uschar *
-string_copy_taint(const uschar * s, BOOL tainted)
+string_copy_taint_function(const uschar * s, BOOL tainted)
 {
 int len = Ustrlen(s) + 1;
 uschar *ss = store_get(len, tainted);
@@ -664,7 +664,7 @@ return yield;
 *************************************************/
 
 /* The formatting is done by string_vformat, which checks the length of
-everything.
+everything.  Taint is taken from the worst of the arguments.
 
 Arguments:
   format    a printf() format - deliberately char * rather than uschar *