Fix invalid logger() calls in Solaris device code.
[tinc] / src / gcrypt / cipher.c
index 3eed8e9..d8e4cc5 100644 (file)
@@ -147,7 +147,8 @@ void cipher_close(cipher_t *cipher) {
        }
 
        free(cipher->key);
-       cipher->key = NULL;
+
+       memset(cipher, 0, sizeof(*cipher));
 }
 
 size_t cipher_keylength(const cipher_t *cipher) {
@@ -261,7 +262,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;