aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-06-25 16:07:12 +0200
committerMartin Willi <martin@revosec.ch>2012-07-16 14:53:36 +0200
commit99dc3d2c1570b3d0d8efff15e78f67eb6ae0ff24 (patch)
tree0acd0f4ffbdb99951c2e69cb51f4fcffb1da5b2a /src
parent1f5291b1ce86cd86fb23136e713949aead9154b7 (diff)
downloadstrongswan-99dc3d2c1570b3d0d8efff15e78f67eb6ae0ff24.tar.bz2
strongswan-99dc3d2c1570b3d0d8efff15e78f67eb6ae0ff24.tar.xz
Check rng return value when seeding OpenSSL RNG
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_plugin.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_plugin.c b/src/libstrongswan/plugins/openssl/openssl_plugin.c
index 7daa92bef..08d7d15b2 100644
--- a/src/libstrongswan/plugins/openssl/openssl_plugin.c
+++ b/src/libstrongswan/plugins/openssl/openssl_plugin.c
@@ -174,7 +174,11 @@ static bool seed_rng()
return FALSE;
}
}
- rng->get_bytes(rng, sizeof(buf), buf);
+ if (!rng->get_bytes(rng, sizeof(buf), buf))
+ {
+ rng->destroy(rng);
+ return FALSE;
+ }
RAND_seed(buf, sizeof(buf));
}
DESTROY_IF(rng);