From 5734bebe05949bf1e7b94dcf225d297389347bb2 Mon Sep 17 00:00:00 2001 From: Geoff Thorpe Date: Sun, 30 Nov 2003 21:21:30 +0000 Subject: [PATCH] Make BN_DEBUG_RAND less painfully slow by only consuming one byte of pseudo-random data for each bn_pollute(). --- crypto/bn/bn.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h index 326aeca9f9..5f16fbad00 100644 --- a/crypto/bn/bn.h +++ b/crypto/bn/bn.h @@ -635,12 +635,14 @@ int RAND_pseudo_bytes(unsigned char *buf,int num); do { \ const BIGNUM *_bnum1 = (a); \ if(_bnum1->top < _bnum1->dmax) { \ + unsigned char _tmp_char; \ /* We cast away const without the compiler knowing, any \ * *genuinely* constant variables that aren't mutable \ * wouldn't be constructed with top!=dmax. */ \ BN_ULONG *_not_const; \ memcpy(&_not_const, &_bnum1->d, sizeof(BN_ULONG*)); \ - RAND_pseudo_bytes((unsigned char *)(_not_const + _bnum1->top), \ + RAND_pseudo_bytes(&_tmp_char, 1); \ + memset((unsigned char *)(_not_const + _bnum1->top), _tmp_char, \ (_bnum1->dmax - _bnum1->top) * sizeof(BN_ULONG)); \ } \ } while(0) -- 2.25.1