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
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

Reply via email to