It looks like pkey_from_pem and x509__x509_from_string don't BIO_free their memory object when they succeed, only when they fail. Would this result in a memory leak? Or do the pkey and x509 cert objects retain a reference to the allocated memory and free it when they are freed?