[openssl-users] ECDSA_SIG_new and ECDSA_SIG_free details

Stephan Mühlstrasser stm at pdflib.com
Thu Jan 12 08:01:00 UTC 2017

Am 11.01.17 um 17:09 schrieb Salz, Rich:
>>> OpenSSL does not support platforms where the memory representation of
>>> the NULL pointer contains non-zero bytes. IIRC there are even tests for
>> this.
>> Could someone from the OpenSSL team please explain the rationale for this
>> decision? What is the problem with using assignments with 0 or NULL to
>> initialize pointers?
> I think you are confused.
> There is no problem with what you posted.  The issue is that if NULL != 0, OpenSSL won't necessarily work.
> See test/sanitytest.c for what we check.

I'm not confused. The other answers in the thread already explained in 
detail that NULL and 0 are equivalent for initializing pointers and that 
memset() is not a portable way to initialize pointers, and I am aware of 

My question was meant to ask why the pointers are initialized with 
memset() instead of initializing them by an assignment with NULL or 0. 
Was this a deliberate decision for some reason, or did it just creep in 
and no one cares now to fix it? Would the OpenSSL team accept pull 
requests that fix this?


More information about the openssl-users mailing list