mirror of
https://github.com/MariaDB/server.git
synced 2025-08-09 22:24:09 +03:00
improve ASAN instrumentation: TRASH
mark freed memory as not accessible, not merely undefined
This commit is contained in:
@@ -39,9 +39,9 @@
|
|||||||
#endif /* HAVE_VALGRIND */
|
#endif /* HAVE_VALGRIND */
|
||||||
|
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
#define TRASH_FILL(A,B,C) do { memset(A, C, B); MEM_UNDEFINED(A, B); } while (0)
|
#define TRASH_FILL(A,B,C) do { MEM_UNDEFINED(A,B); memset(A,C,B); } while(0)
|
||||||
#else
|
#else
|
||||||
#define TRASH_FILL(A,B,C) do { MEM_CHECK_ADDRESSABLE(A,B);MEM_UNDEFINED(A,B);} while (0)
|
#define TRASH_FILL(A,B,C) do { MEM_UNDEFINED(A,B); } while(0)
|
||||||
#endif
|
#endif
|
||||||
#define TRASH_ALLOC(A,B) TRASH_FILL(A,B,0xA5)
|
#define TRASH_ALLOC(A,B) do { TRASH_FILL(A,B,0xA5); MEM_UNDEFINED(A,B); } while(0)
|
||||||
#define TRASH_FREE(A,B) TRASH_FILL(A,B,0x8F)
|
#define TRASH_FREE(A,B) do { TRASH_FILL(A,B,0x8F); MEM_NOACCESS(A,B); } while(0)
|
||||||
|
Reference in New Issue
Block a user