- Check return value of malloc_cache_aligned for presskey and sha.
- Return -ENOMEM if memory allocation fails.
- Free allocated memory in error paths."

Triggers found by static analyzer Svace.

Signed-off-by: Anton Moryakov <ant.v.morya...@gmail.com>

---
 common/autoboot.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/common/autoboot.c b/common/autoboot.c
index 898a57bc92..caf54b01cd 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -186,10 +186,15 @@ static int passwd_abort_sha256(uint64_t etime)
        ret = hash_parse_string(algo_name, sha_env_str, sha_env);
        if (ret) {
                printf("Hash %s not supported!\n", algo_name);
+               free(presskey);
                return 0;
        }
 
        sha = malloc_cache_aligned(SHA256_SUM_LEN);
+       if (!sha) {
+               free(presskey);  
+               return -ENOMEM;  
+       }
        size = SHA256_SUM_LEN;
        /*
         * We don't know how long the stop-string is, so we need to
-- 
2.30.2

Reply via email to