digest_alloc can fail, check the return value.

Signed-off-by: Sascha Hauer <[email protected]>
---
 common/password.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/common/password.c b/common/password.c
index 0cb79b8..43c5e0c 100644
--- a/common/password.c
+++ b/common/password.c
@@ -288,6 +288,10 @@ static int check_passwd(unsigned char *passwd, size_t 
length)
                hash_len = PBKDF2_LENGTH;
        } else {
                d = digest_alloc(PASSWD_SUM);
+               if (!d) {
+                       pr_err("No such digest: %s\n", PASSWD_SUM);
+                       return -ENOENT;
+               }
 
                hash_len = digest_length(d);
        }
-- 
2.5.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to