Check rng return value when encrypting encryption payload
This commit is contained in:
committed by
Martin Willi
parent
5d91d8c469
commit
ca9b68eb9e
@@ -356,8 +356,14 @@ METHOD(encryption_payload_t, encrypt, bool,
|
|||||||
crypt = chunk_create(plain.ptr, plain.len + padding.len);
|
crypt = chunk_create(plain.ptr, plain.len + padding.len);
|
||||||
generator->destroy(generator);
|
generator->destroy(generator);
|
||||||
|
|
||||||
rng->get_bytes(rng, iv.len, iv.ptr);
|
if (!rng->get_bytes(rng, iv.len, iv.ptr) ||
|
||||||
rng->get_bytes(rng, padding.len - 1, padding.ptr);
|
!rng->get_bytes(rng, padding.len - 1, padding.ptr))
|
||||||
|
{
|
||||||
|
DBG1(DBG_ENC, "encrypting encryption payload failed, no IV or padding");
|
||||||
|
rng->destroy(rng);
|
||||||
|
free(assoc.ptr);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
padding.ptr[padding.len - 1] = padding.len - 1;
|
padding.ptr[padding.len - 1] = padding.len - 1;
|
||||||
rng->destroy(rng);
|
rng->destroy(rng);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user