| 1 | /*
|
|---|
| 2 | * $Id: ufortify.h 1077 2008-07-18 18:11:54Z stevenhl $
|
|---|
| 3 | *
|
|---|
| 4 | * FILE:
|
|---|
| 5 | * ufortify.h
|
|---|
| 6 | *
|
|---|
| 7 | * DESCRIPTION:
|
|---|
| 8 | * User options for fortify. Changes to this file require fortify.c to be
|
|---|
| 9 | * recompiled, but nothing else.
|
|---|
| 10 | */
|
|---|
| 11 |
|
|---|
| 12 | /* 18 Jul 08 SHL Add FORTIFY_VERBOSE_SCOPE_ENTER_EXIT
|
|---|
| 13 | */
|
|---|
| 14 |
|
|---|
| 15 | // 28 Jan 08 SHL
|
|---|
| 16 | #define FORTIFY_STORAGE _export /* storage for public functions */
|
|---|
| 17 |
|
|---|
| 18 | #define FORTIFY_ALIGNMENT sizeof(double) /* Byte alignment of all memory blocks */
|
|---|
| 19 |
|
|---|
| 20 | #define FORTIFY_BEFORE_SIZE 32 /* Bytes to allocate before block */
|
|---|
| 21 | #define FORTIFY_BEFORE_VALUE 0xA3 /* Fill value before block */
|
|---|
| 22 |
|
|---|
| 23 | #define FORTIFY_AFTER_SIZE 32 /* Bytes to allocate after block */
|
|---|
| 24 | #define FORTIFY_AFTER_VALUE 0xA5 /* Fill value after block */
|
|---|
| 25 |
|
|---|
| 26 | #define FORTIFY_FILL_ON_ALLOCATE /* Nuke out malloc'd memory */
|
|---|
| 27 | #define FORTIFY_FILL_ON_ALLOCATE_VALUE 0xA7 /* Value to initialize with */
|
|---|
| 28 |
|
|---|
| 29 | #define FORTIFY_FILL_ON_DEALLOCATE /* free'd memory is cleared */
|
|---|
| 30 | #define FORTIFY_FILL_ON_DEALLOCATE_VALUE 0xA9 /* Value to de-initialize with */
|
|---|
| 31 |
|
|---|
| 32 | #define FORTIFY_FILL_ON_CORRUPTION /* Nuke out corrupted memory */
|
|---|
| 33 |
|
|---|
| 34 | /* #define FORTIFY_CHECK_ALL_MEMORY_ON_ALLOCATE */
|
|---|
| 35 | /* #define FORTIFY_CHECK_ALL_MEMORY_ON_DEALLOCATE */
|
|---|
| 36 | #define FORTIFY_PARANOID_DEALLOCATE
|
|---|
| 37 |
|
|---|
| 38 | /* #define FORTIFY_WARN_ON_ZERO_MALLOC */ /* A debug is issued on a malloc(0) */
|
|---|
| 39 | /* #define FORTIFY_FAIL_ON_ZERO_MALLOC */ /* A malloc(0) will fail */
|
|---|
| 40 |
|
|---|
| 41 | #define FORTIFY_WARN_ON_ALLOCATE_FAIL /* A debug is issued on a failed alloc */
|
|---|
| 42 | #define FORTIFY_WARN_ON_FALSE_FAIL /* See Fortify_SetAllocateFailRate */
|
|---|
| 43 | #define FORTIFY_WARN_ON_SIZE_T_OVERFLOW /* Watch for breaking the 64K limit in */
|
|---|
| 44 | /* some braindead architectures... */
|
|---|
| 45 |
|
|---|
| 46 | #define FORTIFY_TRACK_DEALLOCATED_MEMORY
|
|---|
| 47 | #define FORTIFY_DEALLOCATED_MEMORY_LIMIT 1048576 /* Maximum amount of deallocated bytes to keep */
|
|---|
| 48 | /* #define FORTIFY_WARN_WHEN_DISCARDING_DEALLOCATED_MEMORY */
|
|---|
| 49 | /* #define FORTIFY_VERBOSE_WARN_WHEN_DISCARDING_DEALLOCATED_MEMORY */
|
|---|
| 50 | #define FORTIFY_VERBOSE_SCOPE_ENTER_EXIT /* Log all scope entry and exit */
|
|---|
| 51 |
|
|---|
| 52 | /* #define FORTIFY_NO_PERCENT_P */ /* sprintf() doesn't support %p */
|
|---|
| 53 | #define FORTIFY_STRDUP /* if you use non-ANSI strdup() */
|
|---|
| 54 |
|
|---|
| 55 | // #include "_malloc.h"
|
|---|
| 56 | #ifdef __cplusplus
|
|---|
| 57 | extern "C" {
|
|---|
| 58 | #endif
|
|---|
| 59 | #ifdef __BORLANDC__
|
|---|
| 60 | // See bc20\source\rtl\rtlinc\_malloc.h
|
|---|
| 61 | void _RTLENTRY _EXPFUNC _lock_heap (void);
|
|---|
| 62 | void _RTLENTRY _EXPFUNC _unlock_heap(void);
|
|---|
| 63 | #endif
|
|---|
| 64 |
|
|---|
| 65 | #ifdef __WATCOMC__
|
|---|
| 66 | // 05 May 08 SHL
|
|---|
| 67 | // J:\sla_dev2\ow.dev\bld\clib\h\heapacc.h
|
|---|
| 68 | extern void (*_AccessNHeap)( void );
|
|---|
| 69 | extern void (*_ReleaseNHeap)( void );
|
|---|
| 70 | #endif
|
|---|
| 71 | #ifdef __cplusplus
|
|---|
| 72 | }
|
|---|
| 73 | #endif
|
|---|
| 74 |
|
|---|
| 75 | #ifdef __BORLANDC__
|
|---|
| 76 | #define FORTIFY_LOCK() _lock_heap() // 28 Jan 08 SHL
|
|---|
| 77 | #define FORTIFY_UNLOCK() _unlock_heap() // 28 Jan 08 SHL
|
|---|
| 78 | #endif
|
|---|
| 79 | #ifdef __WATCOMC__
|
|---|
| 80 | #define FORTIFY_LOCK() _AccessNHeap() // 05 May 08 SHL
|
|---|
| 81 | #define FORTIFY_UNLOCK() _ReleaseNHeap() // 05 May 08 SHL
|
|---|
| 82 | #endif
|
|---|
| 83 |
|
|---|
| 84 | #define FORTIFY_DELETE_STACK_SIZE 256
|
|---|
| 85 |
|
|---|
| 86 | #ifdef __cplusplus /* C++ only options go here */
|
|---|
| 87 |
|
|---|
| 88 | /* #define FORTIFY_PROVIDE_ARRAY_NEW */
|
|---|
| 89 | /* #define FORTIFY_PROVIDE_ARRAY_DELETE */
|
|---|
| 90 |
|
|---|
| 91 | /* #define FORTIFY_AUTOMATIC_LOG_FILE */
|
|---|
| 92 | #define FORTIFY_LOG_FILENAME "fortify.log"
|
|---|
| 93 | #include <iostream.h>
|
|---|
| 94 | #define FORTIFY_FIRST_ERROR_FUNCTION cout << "\a\a\aFortify Hit Generated!\n"
|
|---|
| 95 |
|
|---|
| 96 | #endif /* __cplusplus */
|
|---|