aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/mem_dbg.c
Commit message (Collapse)AuthorAgeFilesLines
* Correct const-ness.Ben Laurie2001-07-081-6/+6
|
* One indirection level too little compared to theRichard Levitte2001-02-221-3/+3
| | | | pre-CRYPTO_MEM_LEAK_CB time.
* Make all configuration macros available for application by makingRichard Levitte2001-02-191-1/+1
| | | | | | | | | | | | sure they are available in opensslconf.h, by giving them names starting with "OPENSSL_" to avoid conflicts with other packages and by making sure e_os2.h will cover all platform-specific cases together with opensslconf.h. I've checked fairly well that nothing breaks with this (apart from external software that will adapt if they have used something like NO_KRB5), but I can't guarantee it completely, so a review of this change would be a good thing.
* Memory leak detection bugfixes for multi-threading.Bodo Möller2001-02-191-36/+52
|
* Get rid of the function pointer casting in the debugging memory code dueGeoff Thorpe2001-01-091-5/+11
| | | | | to LHASH usage. NB: The callback type used as been suctioned off into crypto.h as CRYPTO_MEM_LEAK_CB to improve clarity.
* Locking issues.Bodo Möller2000-12-151-0/+10
|
* Constification of the data of a hash table. This means the callbackRichard Levitte2000-12-131-8/+10
| | | | | | | functions need to be constified, and therefore meant a number of easy changes a little everywhere. Now, if someone could explain to me why OBJ_dup() cheats...
* Next step in tidying up the LHASH code.Geoff Thorpe2000-12-081-18/+14
| | | | | | | | | | | | | | | | DECLARE/IMPLEMENT macros now exist to create type (and prototype) safe wrapper functions that avoid the use of function pointer casting yet retain type-safety for type-specific callbacks. However, most of the usage within OpenSSL itself doesn't really require the extra function because the hash and compare callbacks are internal functions declared only for use by the hash table. So this change catches all those cases and reimplements the functions using the base-level LHASH prototypes and does per-variable casting inside those functions to convert to the appropriate item type. The exception so far is in ssl_lib.c where the hash and compare callbacks are not static - they're exposed in ssl.h so their prototypes should not be changed. In this last case, the IMPLEMENT_LHASH_*** macros have been left intact.
* Make the remaining LHASH macro changes. This should leave no remainingGeoff Thorpe2000-12-041-4/+10
| | | | | cases of function pointer casting in lh_new() calls - and leave only the lh_doall and lh_doall_arg cases to be finished.
* First step in tidying up the LHASH code. The callback prototypes (andGeoff Thorpe2000-12-011-4/+7
| | | | | | | | | | | | | | | | casts) used in the lhash code are about as horrible and evil as they can be. For starters, the callback prototypes contain empty parameter lists. Yuck. This first change defines clearer prototypes - including "typedef"'d function pointer types to use as "hash" and "compare" callbacks, as well as the callbacks passed to the lh_doall and lh_doall_arg iteration functions. Now at least more explicit (and clear) casting is required in all of the dependant code - and that should be included in this commit. The next step will be to hunt down and obliterate some of the function pointer casting being used when it's not necessary - a particularly evil variant exists in the implementation of lh_doall.
* use standard CUlf Möller2000-11-291-1/+1
|
* Enhance granularity on what I want to debug for the moment by changingRichard Levitte2000-11-121-11/+11
| | | | LEVITTE_DEBUG to LEVITTE_DEBUG_MEM.
* There have been a number of complaints from a number of sources that namesRichard Levitte2000-06-011-9/+9
| | | | | | | | | like Malloc, Realloc and especially Free conflict with already existing names on some operating systems or other packages. That is reason enough to change the names of the OpenSSL memory allocation macros to something that has a better chance of being unique, like prepending them with OPENSSL_. This change includes all the name changes needed throughout all C files.
* In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,Richard Levitte2000-05-021-28/+20
| | | | | | | | | | | | "Jan Mikkelsen" <janm@transactionsite.com> correctly states that the OpenSSL header files have #include's and extern "C"'s in an incorrect order. Thusly fixed. Also, make the memory debugging routines defined and declared with prototypes, and use void* instead of char* for memory blobs. And last of all, redo the ugly callback construct for elegance and better definition (with prototypes).
* Eliminate memory leaks in mem_dbg.c.Bodo Möller2000-03-181-4/+39
|
* Make gcc 2.95.2 happy again, even under ``-Wall -Wshadow -Wpointer-arith ↵Ralf S. Engelschall2000-02-111-1/+1
| | | | | | -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline''.
* Source code cleanups: Use void * rather than char * in lhash,Ulf Möller2000-01-301-1/+1
| | | | eliminate some of the -Wcast-qual warnings (debug-ben-strict target)
* Document the DH library, and make some minor changes along the way.Ulf Möller2000-01-221-2/+0
|
* Compaq C 6.2 for VMS will complain when we want to convertRichard Levitte2000-01-181-5/+15
| | | | | | | | | | non-function pointers to function pointers and vice versa. The current solution is to have unions that describe the conversion we want to do, and gives us the ability to extract the type of data we want. The current solution is a quick fix, and can probably be made in a more general or elegant way.
* Typo...Richard Levitte2000-01-141-1/+1
|
* Avoid some warnings, and run "make update".Bodo Möller2000-01-141-3/+7
|
* RenameBodo Möller1999-12-181-10/+10
| | | | | | | CRYPTO_add_info => CRYPTO_push_info CRYPTO_remove_info => CRYPTO_pop_info in the hope that these names are more descriptive; and "make update".
* fix typos and other little errors ...Bodo Möller1999-12-181-23/+15
|
* - Don't assume that int and size_t have the same representationBodo Möller1999-12-181-37/+44
| | | | | | | | (and that malloc can be called with an int argument). - Use proper prototypes (with argument list) for various function pointers, avoid casts (however there are still many such cases left in these files). - Avoid collissions in app_info_cmp if sizeof int != sizeof long. - Use CRYPTO_LOCK_MALLOC in mem_dbg.c.
* - Made sure some changed behavior is documented in CHANGES.Richard Levitte1999-12-181-1/+23
| | | | | | | | | - Moved the handling of compile-time defaults from crypto.h to mem_dbg.c, since it doesn't make sense for the library users to try to affect this without recompiling libcrypto. - Made sure V_CRYPTO_MDEBUG_TIME and V_CRYPTO_MDEBUG_THREAD had clear and constant definitions. - Aesthetic correction.
* Clear out license confusion.Richard Levitte1999-12-171-50/+50
|
* Rebuild of the OpenSSL memory allocation and deallocation routines.Richard Levitte1999-12-171-0/+670
With this change, the following is provided and present at all times (meaning CRYPTO_MDEBUG is no longer required to get this functionality): - hooks to provide your own allocation and deallocation routines. They have to have the same interface as malloc(), realloc() and free(). They are registered by calling CRYPTO_set_mem_functions() with the function pointers. - hooks to provide your own memory debugging routines. The have to have the same interface as as the CRYPTO_dbg_*() routines. They are registered by calling CRYPTO_set_mem_debug_functions() with the function pointers. I moved everything that was already built into OpenSSL and did memory debugging to a separate file (mem_dbg.c), to make it clear what is what. With this, the relevance of the CRYPTO_MDEBUG has changed. The only thing in crypto/crypto.h that it affects is the definition of the MemCheck_start and MemCheck_stop macros.