cipher layer: IV length is not always block size
diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index d73445c..c7ad5b7 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -152,10 +152,13 @@
     POLARSSL_KEY_LENGTH_DES_EDE = 128,
     /** Key length, in bits (including parity), for DES in three-key EDE */
     POLARSSL_KEY_LENGTH_DES_EDE3 = 192,
-    /** Maximum length of any IV, in bytes */
-    POLARSSL_MAX_IV_LENGTH = 16,
 };
 
+/** Maximum length of any IV, in bytes */
+#define POLARSSL_MAX_IV_LENGTH      16
+/** Maximum block size of any cipher, in bytes */
+#define POLARSSL_MAX_BLOCK_LENGTH   16
+
 /**
  * Base cipher information. The non-mode specific functions and values.
  */
@@ -248,7 +251,7 @@
     int (*get_padding)( unsigned char *input, size_t ilen, size_t *data_len );
 
     /** Buffer for data that hasn't been encrypted yet */
-    unsigned char unprocessed_data[POLARSSL_MAX_IV_LENGTH];
+    unsigned char unprocessed_data[POLARSSL_MAX_BLOCK_LENGTH];
 
     /** Number of bytes that still need processing */
     size_t unprocessed_len;