On 10/19/09 9:52 AM, Jiri Kosina wrote:On Mon, 19 Oct 2009, Felipe Contreras wrote:
crypto/testmgr.c: In function ?test_cprng?:
crypto/testmgr.c:1204: warning: ?err? may be used uninitialized in
this function
Signed-off-by: Felipe Contreras<felipe.contreras@xxxxxxxxx>
---
crypto/testmgr.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 6d5b746..1f2357b 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1201,7 +1201,7 @@ static int test_cprng(struct crypto_rng *tfm,
struct cprng_testvec *template,
unsigned int tcount)
{
const char *algo = crypto_tfm_alg_driver_name(crypto_rng_tfm(tfm));
- int err, i, j, seedsize;
+ int err = 0, i, j, seedsize;
u8 *seed;
char result[32];
As it is not obvious to me immediately why/whether tcount couldn't be
zero
(which would cause uninitialized use of 'err'), I am not merging this
through trivial tree. Herbert?
I believe I'm the guilty party who wrote the code in question.
Initializing err to 0 isn't correct. tcount should always be at least 1,
if its 0, test_cprng has been called with invalid parameters. I believe
err would best be initialized to -EINVAL, lest the caller think they
were successful.