| 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 */ | 
|---|