Even if imaevm_get_hash_algo() returns an error value of -1, it is
forced to be converted to uint8_t type here, resulting in this error
not being checked by the if condition. This patch fixes this error.

Signed-off-by: Tianjia Zhang <tianjia.zh...@linux.alibaba.com>
---
 src/libimaevm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libimaevm.c b/src/libimaevm.c
index e6947d7..a9419ee 100644
--- a/src/libimaevm.c
+++ b/src/libimaevm.c
@@ -922,7 +922,7 @@ static int sign_hash_v2(const char *algo, const unsigned 
char *hash,
        hdr->version = (uint8_t) DIGSIG_VERSION_2;
 
        hdr->hash_algo = imaevm_get_hash_algo(algo);
-       if (hdr->hash_algo == -1) {
+       if (hdr->hash_algo == (uint8_t)-1) {
                log_err("sign_hash_v2: hash algo is unknown: %s\n", algo);
                return -1;
        }
-- 
2.17.1

Reply via email to