#endif // SANITIZER_INTERCEPT___B64_TO
#if SANITIZER_INTERCEPT___DN_EXPAND
- INTERCEPTOR(int, __dn_expand, unsigned char const *base,
+#if __GLIBC_PREREQ(2, 34)
+// Changed with https://sourceware.org/git/?p=glibc.git;h=640bbdf
+#define DN_EXPAND_INTERCEPTOR_NAME dn_expand
+#else
+#define DN_EXPAND_INTERCEPTOR_NAME __dn_expand
+#endif
+ INTERCEPTOR(int, DN_EXPAND_INTERCEPTOR_NAME, unsigned char const *base,
unsigned char const *end, unsigned char const *src, char *dest,
int space) {
void *ctx;
- COMMON_INTERCEPTOR_ENTER(ctx, __dn_expand, base, end, src, dest, space);
+ COMMON_INTERCEPTOR_ENTER(ctx, DN_EXPAND_INTERCEPTOR_NAME, base, end, src, dest, space);
// TODO: add read check if __dn_comp intercept added
- int res = REAL(__dn_expand)(base, end, src, dest, space);
+ int res = REAL(DN_EXPAND_INTERCEPTOR_NAME)(base, end, src, dest, space);
if (res >= 0)
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, dest, res + 1);
return res;
}
#define INIT___DN_EXPAND \
- COMMON_INTERCEPT_FUNCTION(__dn_expand);
+ COMMON_INTERCEPT_FUNCTION(DN_EXPAND_INTERCEPTOR_NAME);
#else // SANITIZER_INTERCEPT___DN_EXPAND
#define INIT___DN_EXPAND
#endif // SANITIZER_INTERCEPT___DN_EXPAND