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]