diff --git a/library/camellia.c b/library/camellia.c
index d725c19..e4c3259 100644
--- a/library/camellia.c
+++ b/library/camellia.c
@@ -580,12 +580,13 @@
 int camellia_crypt_cfb128( camellia_context *ctx,
                        int mode,
                        size_t length,
-                       int *iv_off,
+                       size_t *iv_off,
                        unsigned char iv[16],
                        const unsigned char *input,
                        unsigned char *output )
 {
-    int c, n = *iv_off;
+    int c;
+    size_t n = *iv_off;
 
     if( mode == CAMELLIA_DECRYPT )
     {
@@ -625,14 +626,15 @@
  * Camellia-CTR buffer encryption/decryption
  */
 int camellia_crypt_ctr( camellia_context *ctx,
-                       int length,
-                       int *nc_off,
+                       size_t length,
+                       size_t *nc_off,
                        unsigned char nonce_counter[16],
                        unsigned char stream_block[16],
                        const unsigned char *input,
                        unsigned char *output )
 {
-    int c, n = *nc_off, i, cb;
+    int c, i, cb;
+    size_t n = *nc_off;
 
     while( length-- )
     {
@@ -867,7 +869,7 @@
     unsigned char dst[16];
     unsigned char iv[16];
 #if defined(POLARSSL_CIPHER_MODE_CTR)
-    int offset, len;
+    size_t offset, len;
     unsigned char nonce_counter[16];
     unsigned char stream_block[16];
 #endif
