diff --git a/lib/cipher_funcs.c b/lib/cipher_funcs.c index c0d573f6..8fee6907 100644 --- a/lib/cipher_funcs.c +++ b/lib/cipher_funcs.c @@ -204,9 +204,9 @@ size_t rij_encrypt(unsigned char *in, size_t in_len, const char *pass, unsigned char *out) { RIJNDAEL_context ctx; - unsigned char plaintext[16]; - unsigned char mixtext[16]; - unsigned char ciphertext[16]; + unsigned char plaintext[RIJNDAEL_BLOCKSIZE]; + unsigned char mixtext[RIJNDAEL_BLOCKSIZE]; + unsigned char ciphertext[RIJNDAEL_BLOCKSIZE]; int i, pad_val; unsigned char *ondx = out; @@ -238,12 +238,12 @@ rij_encrypt(unsigned char *in, size_t in_len, const char *pass, unsigned char *o for(; i < sizeof(plaintext); i++) plaintext[i] = pad_val; - for(i=0; i< 16; i++) + for(i=0; i= 0 && pad_val <= 16) + if(pad_val >= 0 && pad_val <= RIJNDAEL_BLOCKSIZE) { pad_s = ondx - pad_val;