Some more tweaks from ENGINE code.
authorGeoff Thorpe <geoff@openssl.org>
Wed, 18 Apr 2001 04:18:16 +0000 (04:18 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Wed, 18 Apr 2001 04:18:16 +0000 (04:18 +0000)
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
crypto/rand/rand_lib.c

index 5d85741452ad464bda0de9450caa91860667105d..2252186ecdec8d40e17f88bac876eb51b7867c9c 100644 (file)
@@ -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);
index 57eff0f132948bee10bd1110836cca76c8862beb..597c098d3e389119edae8154e7a2aa29debc3997 100644 (file)
@@ -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;