Update comment on crypto_generichash_state allocation with sodium_malloc() (#501)

This commit is contained in:
Alexander Iljin 2017-03-02 02:29:50 +03:00 committed by Frank Denis
parent 862c747a20
commit fa0245cf1c

View File

@ -90,15 +90,14 @@ int sodium_munlock(void * const addr, const size_t len);
* a multiple of the required alignment. For this reason, these functions * a multiple of the required alignment. For this reason, these functions
* are designed to store data, such as secret keys and messages. * are designed to store data, such as secret keys and messages.
* *
* sodium_malloc() can be used to allocate any libsodium data structure, * sodium_malloc() can be used to allocate any libsodium data structure.
* with the exception of crypto_generichash_state.
* *
* The crypto_generichash_state structure is packed and its length is * The crypto_generichash_state structure is packed and its length is
* either 357 or 361 bytes. For this reason, when using sodium_malloc() to * either 357 or 361 bytes. For this reason, when using sodium_malloc() to
* allocate a crypto_generichash_state structure, padding must be added in * allocate a crypto_generichash_state structure, padding must be added in
* order to ensure proper alignment: * order to ensure proper alignment. crypto_generichash_statebytes()
* state = sodium_malloc((crypto_generichash_statebytes() + (size_t) 63U) * returns the rounded up structure size, and should be prefered to sizeof():
* & ~(size_t) 63U); * state = sodium_malloc(crypto_generichash_statebytes());
*/ */
SODIUM_EXPORT SODIUM_EXPORT