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]

Reply via email to