On 17/06/2020 12:39, Hal Murray wrote: > > There are 3 cases of "structure of NULL" where the "of" should be "or". > The "NULL" is actually "B<NULL>" in the pod file. > > doc/man3/EVP_PKEY_CTX_new.pod > doc/man3/X509_NAME_add_entry_by_txt.pod > doc/man3/X509V3_get_d2i.pod > > ---------- > > There are several bugs/typos in the example code at the end of > doc/man3/EVP_MAC.pod > > These lines have an extra NULL parameter. > OSSL_PARAM_construct_utf8_string("cipher", cipher, 0, NULL); > OSSL_PARAM_construct_utf8_string("digest", digest, 0, NULL); > OSSL_PARAM_construct_octet_string("key", key, strlen(key), NULL); > > ---------- I created a PR to fix the above issues: https://github.com/openssl/openssl/pull/12185 > > That man page describes EVP_MAC_set_ctx_params and uses it in the example: > || EVP_MAC_set_ctx_params(ctx, params) <= 0) > > evp.h has: > int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[]); > > That's "set_ctx" vs "CTX_set" in case your eyes doesn't instantly lock on to > the difference. > > There are similar problems with many other ctx routines. > EVP_MAC_new_ctx => EVP_MAC_CTX_new > EVP_MAC_free_ctx => EVP_MAC_CTX_free > EVP_MAC_get_ctx_params ... These names have recently changed and so there is probably a discrepancy between whatever version you have locally and what you are reading on the website. I don't think I agree with the name changes but see: https://github.com/openssl/openssl/pull/11997 Matt