diff options
author | Martin Willi <martin@revosec.ch> | 2012-07-06 13:52:57 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-07-16 14:53:37 +0200 |
commit | 6a3e4ed9165364fcae4077a2c2d0fe79de0c3174 (patch) | |
tree | 6168a49befd1ec31515b02db9aeec45bf30b8b75 /src | |
parent | 3629740c7fb27c898621ecb2f9ff8d6c34e87c46 (diff) | |
download | strongswan-6a3e4ed9165364fcae4077a2c2d0fe79de0c3174.tar.bz2 strongswan-6a3e4ed9165364fcae4077a2c2d0fe79de0c3174.tar.xz |
Check rng return value when generating SIM/AKA message IVs
Diffstat (limited to 'src')
-rw-r--r-- | src/libsimaka/simaka_message.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libsimaka/simaka_message.c b/src/libsimaka/simaka_message.c index 50bd8b565..e7f902a63 100644 --- a/src/libsimaka/simaka_message.c +++ b/src/libsimaka/simaka_message.c @@ -771,7 +771,10 @@ METHOD(simaka_message_t, generate, bool, out = chunk_skip(out, 4); rng = this->crypto->get_rng(this->crypto); - rng->get_bytes(rng, iv.len, out.ptr); + if (!rng->get_bytes(rng, iv.len, out.ptr)) + { + return FALSE; + } iv = chunk_clonea(chunk_create(out.ptr, iv.len)); out = chunk_skip(out, iv.len); |