aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/malloc.c3
-rw-r--r--src/random.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/src/malloc.c b/src/malloc.c
index c3c644fd6..6fb9d53d1 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -475,9 +475,6 @@ sqlite3_uint64 sqlite3_msize(void *p){
** Free memory previously obtained from sqlite3Malloc().
*/
void sqlite3_free(void *p){
-#if defined(SQLITE_ENABLE_API_ARMOR) && !defined(SQLITE_OMIT_AUTOINIT)
- if( sqlite3_initialize() ) return;
-#endif
if( p==0 ) return; /* IMP: R-49053-54554 */
assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) );
assert( sqlite3MemdebugNoType(p, ~MEMTYPE_HEAP) );
diff --git a/src/random.c b/src/random.c
index 7bca0d71a..c4241362d 100644
--- a/src/random.c
+++ b/src/random.c
@@ -37,7 +37,6 @@ void sqlite3_randomness(int N, void *pBuf){
#ifndef SQLITE_OMIT_AUTOINIT
if( sqlite3_initialize() ) return;
#endif
- if( pBuf==0 || N<=0 ) return;
/* The "wsdPrng" macro will resolve to the pseudo-random number generator
** state vector. If writable static data is unsupported on the target,
@@ -57,6 +56,12 @@ void sqlite3_randomness(int N, void *pBuf){
sqlite3_mutex_enter(mutex);
#endif
+ if( N<=0 || pBuf==0 ){
+ wsdPrng.isInit = 0;
+ sqlite3_mutex_leave(mutex);
+ return;
+ }
+
/* Initialize the state of the random number generator once,
** the first time this routine is called. The seed value does
** not need to contain a lot of randomness since we are not