X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/9fa4d5b45f70b36a46c0d04381a5e05cb39ae3e9..6d5f5cafb4c507abe36434bf7695573284eb8761:/src/src/mytypes.h diff --git a/src/src/mytypes.h b/src/src/mytypes.h index 84baa9eea..aaa6e9052 100644 --- a/src/src/mytypes.h +++ b/src/src/mytypes.h @@ -125,9 +125,19 @@ functions that are called quite often; for other calls to external libraries #define Ustrtoul(s,t,b) strtoul(CCS(s),CSS(t),b) #define Uunlink(s) unlink(CCS(s)) -extern BOOL is_tainted(const void *); extern void die_tainted(const uschar *, const uschar *, int); +/* Predicate: if an address is in a tainted pool. +By extension, a variable pointing to this address is tainted. +*/ + +static inline BOOL +is_tainted(const void * p) +{ +extern void * tainted_base, * tainted_top; +return p >= tainted_base && p < tainted_top; +} + static inline uschar * __Ustrcat(uschar * dst, const uschar * src, const char * func, int line) { #ifndef COMPILE_UTILITY