From 77198d5310d961ba3605db74fe1d213bb5d19f34 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 6 Apr 2020 10:19:37 -0400 Subject: Delegate random number generation to crypto provider (fixes #418) --- libqpdf/QUtil.cc | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) (limited to 'libqpdf/QUtil.cc') diff --git a/libqpdf/QUtil.cc b/libqpdf/QUtil.cc index fa0cf8ae..94132fa5 100644 --- a/libqpdf/QUtil.cc +++ b/libqpdf/QUtil.cc @@ -3,10 +3,7 @@ #include #include -#ifdef USE_INSECURE_RANDOM -# include -#endif -#include +#include #include #include #include @@ -891,29 +888,9 @@ class RandomDataProviderProvider }; RandomDataProviderProvider::RandomDataProviderProvider() : - default_provider(0), + default_provider(CryptoRandomDataProvider::getInstance()), current_provider(0) { -#ifdef USE_INSECURE_RANDOM - static RandomDataProvider* insecure_random_data_provider = - InsecureRandomDataProvider::getInstance(); -#else - static RandomDataProvider* insecure_random_data_provider = 0; -#endif - static RandomDataProvider* secure_random_data_provider = - SecureRandomDataProvider::getInstance(); - - this->default_provider = ( - secure_random_data_provider ? secure_random_data_provider - : insecure_random_data_provider ? insecure_random_data_provider - : 0); - - // QUtil.hh has comments indicating that getRandomDataProvider(), - // which calls this method, never returns null. - if (this->default_provider == 0) - { - throw std::logic_error("QPDF has no random data provider"); - } this->current_provider = default_provider; } -- cgit v1.2.3-70-g09d2