On 12/22/2017 8:06 AM, Salz, Rich via openssl-users wrote:
> Our intent is that all FREE functions can handle NULL. If you find
> things missing or undocumented, please open an issue on GitHub.
It would be great if that was documented for all _free() functions. I
currently always code
if (ptr!= NULL) free(ptr);
because the behavior isn't defined.
BTW, "can handle" should explicitly say what happens. Perhaps use the C
library text, which says:
On Fri, Dec 22, 2017 at 09:30:19AM -0500, Ken Goldman wrote:
> On 12/22/2017 9:24 AM, Salz, Rich via openssl-users wrote:
> > > if (ptr!= NULL) free(ptr);
> > That shouldn’t be necessary for OpenSSL. If you find places where it is, please open an issue.
> OK. I'll mention a few, but it's a global issue.
> The code may handle NULL. However, conservative users won't go by what the
> code happens to do today. We have to go by the API documentation, which is
> the contract between the library and the user. If the API is silent, we
> cautiously assume it's not guaranteed, and can change in the future.
So feel free to document it as being able to handle NULL.