In crypto.h, Malloc,Realloc are defined as Macros. When I use OpenSSL for windows application. the definitions are conflicting with one MSVC header file, objidl.h. I suggest that the section in crypto.h should be modify: from #if defined(WIN32) || defined(MFUNC) #define Malloc CRYPTO_malloc #define Realloc(a,n) CRYPTO_realloc(a,(n)) #define FreeFunc CRYPTO_free #define Free(addr) CRYPTO_free(addr) #define Malloc_locked CRYPTO_malloc_locked #define Free_locked(addr) CRYPTO_free_locked(addr) to #if defined(WIN32) || defined(MFUNC) void *Malloc_locked(int num); void Free_locked(void *str); void *Malloc(int num); void *Realloc(void *str, int num); void FreeFunc(void *str); and add below lines to mem.c, #ifndef Malloc void *Malloc_locked(int num) { return(CRYPTO_malloc_locked(num)); } void Free_locked(void *str) { CRYPTO_free_locked(str); } void *Malloc(int num) { return(CRYPTO_malloc(num)); } void *Realloc(void *str, int num) { return(CRYPTO_realloc(str,num)); } void FreeFunc(void *str) { CRYPTO_free(str); } #endif to avoid conflct. These functions are something used by openssl itself and should not be something that the openssl users need to include in header files or refrence to. I suggest the developers take some time to define what openssl offering(API,header files,etc.), and move other things that users don't need out of their sight. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]