From a4a9d97a3e02849b111d9bd488a954dcc6a44910 Mon Sep 17 00:00:00 2001 From: Geoff Thorpe Date: Wed, 18 Apr 2001 04:18:16 +0000 Subject: [PATCH] Some more tweaks from ENGINE code. Previously RAND_get_rand_method was returning a non-const pointer, but it should be const. As with all other such cases, METHOD pointers are stored and returned as "const". The only methods one should be able to alter are methods "local" to the relevant code, in which case a non-const handle to the methods should already exist. This change has been forced by the constifying of the ENGINE code (before which RAND_METHOD was the only method pointer in an ENGINE structure that was not constant). --- crypto/rand/rand.h | 2 +- crypto/rand/rand_lib.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crypto/rand/rand.h b/crypto/rand/rand.h index 5d85741452..2252186ecd 100644 --- a/crypto/rand/rand.h +++ b/crypto/rand/rand.h @@ -82,7 +82,7 @@ extern int rand_predictable; struct engine_st; int RAND_set_rand_method(struct engine_st *meth); -RAND_METHOD *RAND_get_rand_method(void ); +const RAND_METHOD *RAND_get_rand_method(void ); RAND_METHOD *RAND_SSLeay(void); void RAND_cleanup(void ); int RAND_bytes(unsigned char *buf,int num); diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 57eff0f132..597c098d3e 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -82,7 +82,7 @@ int RAND_set_rand_method(ENGINE *engine) } #endif -RAND_METHOD *RAND_get_rand_method(void) +const RAND_METHOD *RAND_get_rand_method(void) { if (rand_engine == NULL && (rand_engine = ENGINE_get_default_RAND()) == NULL) @@ -92,28 +92,28 @@ RAND_METHOD *RAND_get_rand_method(void) void RAND_cleanup(void) { - RAND_METHOD *meth = RAND_get_rand_method(); + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth && meth->cleanup) meth->cleanup(); } void RAND_seed(const void *buf, int num) { - RAND_METHOD *meth = RAND_get_rand_method(); + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth && meth->seed) meth->seed(buf,num); } void RAND_add(const void *buf, int num, double entropy) { - RAND_METHOD *meth = RAND_get_rand_method(); + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth && meth->add) meth->add(buf,num,entropy); } int RAND_bytes(unsigned char *buf, int num) { - RAND_METHOD *meth = RAND_get_rand_method(); + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth && meth->bytes) return meth->bytes(buf,num); return(-1); @@ -121,7 +121,7 @@ int RAND_bytes(unsigned char *buf, int num) int RAND_pseudo_bytes(unsigned char *buf, int num) { - RAND_METHOD *meth = RAND_get_rand_method(); + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth && meth->pseudorand) return meth->pseudorand(buf,num); return(-1); @@ -129,7 +129,7 @@ int RAND_pseudo_bytes(unsigned char *buf, int num) int RAND_status(void) { - RAND_METHOD *meth = RAND_get_rand_method(); + const RAND_METHOD *meth = RAND_get_rand_method(); if (meth && meth->status) return meth->status(); return 0; -- 2.25.1