Fix UBSAN warnings about conversions and overflows.
[tinc] / src / gcrypt / cipher.c
index 176b62b..8306531 100644 (file)
@@ -146,10 +146,8 @@ void cipher_close(cipher_t *cipher) {
                cipher->handle = NULL;
        }
 
-       if(cipher->key) {
-               free(cipher->key);
-               cipher->key = NULL;
-       }
+       free(cipher->key);
+       cipher->key = NULL;
 }
 
 size_t cipher_keylength(const cipher_t *cipher) {
@@ -263,7 +261,7 @@ bool cipher_decrypt(cipher_t *cipher, const void *indata, size_t inlen, void *ou
 
                size_t origlen = inlen - padbyte;
 
-               for(int i = inlen - 1; i >= origlen; i--)
+               for(size_t i = inlen - 1; i >= origlen; i--)
                        if(((uint8_t *)outdata)[i] != padbyte) {
                                logger(DEBUG_ALWAYS, LOG_ERR, "Error while decrypting: invalid padding");
                                return false;