It's out, not outl, that needs to contain sufficient room. Also, add a pair of parentheses to mark EVP_DecryptInit_ex as a function.
Index: lib/libssl/src/doc/crypto/EVP_EncryptInit.pod =================================================================== RCS file: /cvs/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod,v retrieving revision 1.13 diff -u -p -r1.13 EVP_EncryptInit.pod --- lib/libssl/src/doc/crypto/EVP_EncryptInit.pod 11 Jul 2014 16:18:14 -0000 1.13 +++ lib/libssl/src/doc/crypto/EVP_EncryptInit.pod 12 Apr 2015 12:45:13 -0000 @@ -124,7 +124,7 @@ writes the encrypted version to B<out>. multiple times to encrypt successive blocks of data. The amount of data written depends on the block alignment of the encrypted data: as a result the amount of data written may be anything from zero bytes -to (inl + cipher_block_size - 1) so B<outl> should contain sufficient +to (inl + cipher_block_size - 1) so B<out> should contain sufficient room. The actual number of bytes written is placed in B<outl>. If padding is enabled (the default) then EVP_EncryptFinal_ex() encrypts @@ -160,7 +160,7 @@ after all operations using a cipher are does not remain in memory. EVP_EncryptInit(), EVP_DecryptInit() and EVP_CipherInit() behave in a -similar way to EVP_EncryptInit_ex(), EVP_DecryptInit_ex and +similar way to EVP_EncryptInit_ex(), EVP_DecryptInit_ex() and EVP_CipherInit_ex() except the B<ctx> parameter does not need to be initialized and they always use the default cipher implementation.