return US strncpy(CS dst, CCS src, n);
}
#if !defined(COMPILE_UTILITY) && !defined(MACRO_PREDEF)
-static inline uschar * Ustpcpy(uschar * dst, const uschar * src)
+static inline uschar * __Ustpcpy(uschar * dst, const uschar * src, const char * func, int line)
{
+if (!is_tainted(dst) && is_tainted(src)) die_tainted(US"Ustpcpy", CUS func, line);
return US stpcpy(CS dst, CCS src);
}
#endif
# define Ustrcpy(s,t) __Ustrcpy(s, CUS(t), __FUNCTION__, __LINE__)
# define Ustrncat(s,t,n) __Ustrncat(s, CUS(t), n, __FUNCTION__, __LINE__)
# define Ustrncpy(s,t,n) __Ustrncpy(s, CUS(t), n, __FUNCTION__, __LINE__)
+# define Ustpcpy(s,t) __Ustpcpy(s, CUS(t), __FUNCTION__, __LINE__)
#endif
#endif