Revision a520723f29aac6598ff0d69e34f5e9b88213e511 authored by Matt Caswell on 14 October 2016, 12:07:00 UTC, committed by Matt Caswell on 28 October 2016, 08:43:41 UTC
The previous commit inspired a review of all the length checks for the extension adding code. This adds more robust checks and adds checks where some were missing previously. The real solution for this is to use WPACKET which is currently in master - but that cannot be applied to release branches. Reviewed-by: Rich Salz <rsalz@openssl.org>
1 parent 83a1d4b
ripemd.pod
=pod
=head1 NAME
RIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final -
RIPEMD-160 hash function
=head1 SYNOPSIS
#include <openssl/ripemd.h>
unsigned char *RIPEMD160(const unsigned char *d, unsigned long n,
unsigned char *md);
int RIPEMD160_Init(RIPEMD160_CTX *c);
int RIPEMD160_Update(RIPEMD_CTX *c, const void *data,
unsigned long len);
int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c);
=head1 DESCRIPTION
RIPEMD-160 is a cryptographic hash function with a
160 bit output.
RIPEMD160() computes the RIPEMD-160 message digest of the B<n>
bytes at B<d> and places it in B<md> (which must have space for
RIPEMD160_DIGEST_LENGTH == 20 bytes of output). If B<md> is NULL, the digest
is placed in a static array.
The following functions may be used if the message is not completely
stored in memory:
RIPEMD160_Init() initializes a B<RIPEMD160_CTX> structure.
RIPEMD160_Update() can be called repeatedly with chunks of the message to
be hashed (B<len> bytes at B<data>).
RIPEMD160_Final() places the message digest in B<md>, which must have
space for RIPEMD160_DIGEST_LENGTH == 20 bytes of output, and erases
the B<RIPEMD160_CTX>.
Applications should use the higher level functions
L<EVP_DigestInit(3)|EVP_DigestInit(3)> etc. instead of calling the
hash functions directly.
=head1 RETURN VALUES
RIPEMD160() returns a pointer to the hash value.
RIPEMD160_Init(), RIPEMD160_Update() and RIPEMD160_Final() return 1 for
success, 0 otherwise.
=head1 CONFORMING TO
ISO/IEC 10118-3 (draft) (??)
=head1 SEE ALSO
L<sha(3)|sha(3)>, L<hmac(3)|hmac(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>
=head1 HISTORY
RIPEMD160(), RIPEMD160_Init(), RIPEMD160_Update() and
RIPEMD160_Final() are available since SSLeay 0.9.0.
=cut

Computing file changes ...