[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 
that.

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?

-- 
Stephan


More information about the openssl-users mailing list