Arg type coercion for Ustpcpy
authorJeremy Harris <jgh146exb@wizmail.org>
Tue, 3 Dec 2024 19:23:13 +0000 (19:23 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Tue, 3 Dec 2024 19:23:13 +0000 (19:23 +0000)
src/src/functions.h
src/src/mytypes.h

index 2b77babec66a70d64fc90080ad025a9cd4004acc..74000b92f1697ed3da5dcbcca1e1e3e13753b9e1 100644 (file)
@@ -743,8 +743,9 @@ if (!is_tainted(dst) && is_tainted(src)) die_tainted(US"Ustrncpy", CUS func, lin
 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
index 598569d00462512eeb9f13022073a3a708b974e0..d381f724ba8df9e364431681ca67b4e96ad2df92 100644 (file)
@@ -147,6 +147,7 @@ functions that are called quite often; for other calls to external libraries
 # 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