# HG changeset patch # User Dhiru Kholia # Date 1375174048 -19800 # Tue Jul 30 14:17:28 2013 +0530 # Branch ASAN # Node ID 01a260a462ee5ce22f224cb69fee3a753666053f # Parent 83b404da05e9a6440c9a193a4991752b4c315d1c enable usage of AddressSanitizer in CPython diff -r 83b404da05e9 -r 01a260a462ee Objects/obmalloc.c --- a/Objects/obmalloc.c Tue Jul 30 01:37:28 2013 -0400 +++ b/Objects/obmalloc.c Tue Jul 30 14:17:28 2013 +0530 @@ -12,6 +12,12 @@ static void _PyMem_DebugCheckAddress(char api_id, const void *p); #endif +#if defined(__clang__) || defined (__GNUC__) +# define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS __attribute__((no_address_safety_analysis)) +#else +# define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS +#endif + #ifdef WITH_PYMALLOC #ifdef MS_WINDOWS @@ -1299,7 +1305,7 @@ } /* free */ - +ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS static void _PyObject_Free(void *ctx, void *p) { @@ -1528,6 +1534,7 @@ * return a non-NULL result. */ +ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS static void * _PyObject_Realloc(void *ctx, void *p, size_t nbytes) {