aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-06-25 15:58:50 +0200
committerMartin Willi <martin@revosec.ch>2012-07-16 14:53:36 +0200
commit10b6ca5fb2fa633a3dbce652c9702ec7e49bdb8f (patch)
tree745471bb3724f870cb64ec5d269dcf7f3039ccab
parent162f489a2780b676782f6f738d58b1c57512b86d (diff)
downloadstrongswan-10b6ca5fb2fa633a3dbce652c9702ec7e49bdb8f.tar.bz2
strongswan-10b6ca5fb2fa633a3dbce652c9702ec7e49bdb8f.tar.xz
Check rng return value when generating RAND in eap-aka-3gpp2 plugin
-rw-r--r--src/libcharon/plugins/eap_aka_3gpp2/eap_aka_3gpp2_provider.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/plugins/eap_aka_3gpp2/eap_aka_3gpp2_provider.c b/src/libcharon/plugins/eap_aka_3gpp2/eap_aka_3gpp2_provider.c
index b2b43da2a..317a820c0 100644
--- a/src/libcharon/plugins/eap_aka_3gpp2/eap_aka_3gpp2_provider.c
+++ b/src/libcharon/plugins/eap_aka_3gpp2/eap_aka_3gpp2_provider.c
@@ -90,12 +90,12 @@ METHOD(simaka_provider_t, get_quintuplet, bool,
/* generate RAND: we use a registered RNG, not f0() proposed in S.S0055 */
rng = lib->crypto->create_rng(lib->crypto, RNG_WEAK);
- if (!rng)
+ if (!rng || !rng->get_bytes(rng, AKA_RAND_LEN, rand))
{
DBG1(DBG_IKE, "generating RAND for AKA failed");
+ DESTROY_IF(rng);
return FALSE;
}
- rng->get_bytes(rng, AKA_RAND_LEN, rand);
rng->destroy(rng);
if (!eap_aka_3gpp2_get_k(id, k))