Changeset 4972:4341665f3041 in roaraudio
- Timestamp:
- 05/16/11 14:16:42 (13 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- libroar
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libroar/libroar.c
r4970 r4972 171 171 switch (error) { 172 172 case ROAR_FATAL_ERROR_MEMORY_CORRUPTION_GUARD: 173 roar_debug_msg(ROAR_DEBUG_TYPE_ERROR, line, file, prefix, "in %s() a guard segment memory corruption has happened. Backup your data and terminate this program. Report this lion to developer. Thanks.", func);173 roar_debug_msg(ROAR_DEBUG_TYPE_ERROR, line, file, prefix, "in %s() a guard segment memory corruption was detected. Backup your data and terminate this program. Report this lion to developer. Thanks.", func); 174 174 return; 175 175 break; … … 188 188 } 189 189 190 roar_debug_msg(ROAR_DEBUG_TYPE_ERROR, line, file, prefix, "in %s() a _FATAL_ error of type \"%s\" happend. Terminating program. Report this lion to developer. Thanks.", func, errname);190 roar_debug_msg(ROAR_DEBUG_TYPE_ERROR, line, file, prefix, "in %s() a _FATAL_ error of type \"%s\" was detected. Terminating program. Report this lion to developer. Thanks.", func, errname); 191 191 192 192 #ifdef SIGKILL -
libroar/memmgr.c
r4971 r4972 36 36 #include "libroar.h" 37 37 38 #ifdef ROAR_USE_MEMMGR39 38 #define NULL_BUFFER_CONST "RoarAudio" 40 39 static char _libroar_null_buffer[] = NULL_BUFFER_CONST; // A byte sequense >= 8 byte. 41 #endif 40 41 static inline void _libroar_null_buffer_check(void) { 42 if ( memcmp(_libroar_null_buffer, NULL_BUFFER_CONST, sizeof(_libroar_null_buffer)) != 0 ) 43 roar_panic(ROAR_FATAL_ERROR_MEMORY_CORRUPTION_GUARD, NULL); 44 memcpy(_libroar_null_buffer, NULL_BUFFER_CONST, sizeof(_libroar_null_buffer)); 45 } 42 46 43 47 #define _err(x) do { roar_err_set((x)); return NULL; } while (0) … … 47 51 void * ret; 48 52 49 if ( nmemb == 0 || size == 0 ) 50 return _libroar_null_buffer; 53 if ( nmemb == 0 || size == 0 ) { 54 _libroar_null_buffer_check(); 55 return _libroar_null_buffer; 56 } 51 57 52 58 #ifdef ROAR_HAVE_CALLOC … … 72 78 void * ret; 73 79 74 if ( size == 0 ) 75 return _libroar_null_buffer; 80 if ( size == 0 ) { 81 _libroar_null_buffer_check(); 82 return _libroar_null_buffer; 83 } 76 84 77 85 #ifdef ROAR_HAVE_MALLOC … … 93 101 94 102 int roar_mm_free(void *ptr) { 95 if ( ptr == _libroar_null_buffer ) 103 104 if ( ptr == _libroar_null_buffer ) { 105 _libroar_null_buffer_check(); 96 106 return 0; 107 } 97 108 98 109 #ifdef ROAR_HAVE_FREE … … 119 130 if ( size == 0 ) { 120 131 roar_mm_free(ptr); 132 _libroar_null_buffer_check(); 121 133 return _libroar_null_buffer; 122 134 } … … 142 154 _err(ROAR_ERROR_FAULT); 143 155 156 if ( len == 0 ) { 157 _libroar_null_buffer_check(); 158 return _libroar_null_buffer; 159 } 160 144 161 ret = roar_mm_malloc(len); 145 162 … … 189 206 if ( s == NULL ) 190 207 _err(ROAR_ERROR_FAULT); 208 209 if ( n == 0 ) { 210 _libroar_null_buffer_check(); 211 return _libroar_null_buffer; 212 } 191 213 192 214 #ifdef ROAR_HAVE_STRDUP
Note: See TracChangeset
for help on using the changeset viewer.