tree 736468b8def379533623aa6ac66a1c56e0e0a4b2
parent a428ced16563741874f87f12bdf8913591c387a4
author Gilles Peskine <Gilles.Peskine@arm.com> 1574930732 +0100
committer Gilles Peskine <Gilles.Peskine@arm.com> 1574931788 +0100

Catch AES failure in mbedtls_ctr_drbg_random

The functions mbedtls_ctr_drbg_random() and
mbedtls_ctr_drbg_random_with_add() could return 0 if an AES function
failed. This could only happen with alternative AES
implementations (the built-in implementation of the AES functions
involved never fail), typically due to a failure in a hardware
accelerator.

Bug reported and fix proposed by Johan Uppman Bruce and Christoffer
Lauri, Sectra.
