rsa: check that pointer checksum isn't NULL before using it
authorPhilippe Reynes <philippe.reynes@softathome.com>
Tue, 19 Mar 2019 09:55:40 +0000 (10:55 +0100)
committerTom Rini <trini@konsulko.com>
Mon, 25 Mar 2019 15:44:12 +0000 (11:44 -0400)
The pointer checksum were used before checking that it
isn't NULL. We move the code that use it after the check.

Reported-by: Coverity (CID: 185835)
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
lib/rsa/rsa-verify.c

index 9734f6d..287fcc4 100644 (file)
@@ -295,7 +295,7 @@ static int rsa_verify_key(struct image_sign_info *info,
 #endif
        struct checksum_algo *checksum = info->checksum;
        struct padding_algo *padding = info->padding;
-       int hash_len = checksum->checksum_len;
+       int hash_len;
 
        if (!prop || !sig || !hash || !checksum)
                return -EIO;
@@ -315,6 +315,7 @@ static int rsa_verify_key(struct image_sign_info *info,
        }
 
        uint8_t buf[sig_len];
+       hash_len = checksum->checksum_len;
 
 #if !defined(USE_HOSTCC)
        ret = uclass_get_device(UCLASS_MOD_EXP, 0, &mod_exp_dev);