Remove ambiguity in rand_pool_add[_end] return value
authorRichard Levitte <levitte@openssl.org>
Wed, 4 Apr 2018 16:31:50 +0000 (18:31 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 4 Apr 2018 18:14:51 +0000 (20:14 +0200)
commit8e2bec9b8aaba602af6fda2523a15238aa49aade
treede4bb0311df3e56f8f5e3813e2ec9037b7040923
parentdbcfd9025f86e997f6246d51e4700a0560ce3977
Remove ambiguity in rand_pool_add[_end] return value

When these two functions returned zero, it could mean:

1. that an error occured.  In their case, the error is an overflow of
   the pool, i.e. the correct response from the caller would be to
   stop trying to fill the pool.
2. that there isn't enought entropy acquired yet, i.e. the correct
   response from the caller would be to try and add more entropy to
   the pool.

Because of this ambiguity, the returned zero turns out to be useless.
This change makes the returned value more consistent.  1 means the
addition of new entropy was successful, 0 means it wasn't.  To know if
the pool has been filled enough, the caller will have to call some
other function, such as rand_pool_entropy_available().

Fixes #5846

Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/5876)
crypto/rand/rand_lib.c
crypto/rand/rand_unix.c
crypto/rand/rand_vms.c
crypto/rand/rand_win.c