24 lines
809 B
Diff
24 lines
809 B
Diff
diff -up libgcrypt-1.5.3/random/drbg.c.drbg-init libgcrypt-1.5.3/random/drbg.c
|
|
--- libgcrypt-1.5.3/random/drbg.c.drbg-init 2017-02-28 14:28:55.000000000 +0100
|
|
+++ libgcrypt-1.5.3/random/drbg.c 2017-02-28 15:15:54.401291408 +0100
|
|
@@ -1820,12 +1820,16 @@ _gcry_drbg_randomize (void *buffer, size
|
|
enum gcry_random_level level)
|
|
{
|
|
(void) level;
|
|
- gcry_drbg_lock ();
|
|
if (NULL == gcry_drbg)
|
|
{
|
|
- fips_signal_error ("DRBG is not initialized");
|
|
- goto bailout;
|
|
+ _gcry_drbg_init(1);
|
|
+ if (NULL == gcry_drbg)
|
|
+ {
|
|
+ log_fatal ("DRBG is not initialized\n");
|
|
+ goto bailout;
|
|
+ }
|
|
}
|
|
+ gcry_drbg_lock ();
|
|
|
|
/* As reseeding changes the entire state of the DRBG, including any
|
|
* key, either a re-init or a reseed is sufficient for a fork */
|