From 494a41933db4715feddb06235f7973e6b90ae3a3 Mon Sep 17 00:00:00 2001 From: Eugene Crosser Date: Thu, 31 Oct 2013 12:48:46 +0400 Subject: [PATCH] reinit iv before every op --- crypto.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crypto.c b/crypto.c index 003cc0f..c2d6c14 100644 --- a/crypto.c +++ b/crypto.c @@ -34,16 +34,20 @@ const char *crypto_init(int ifno) return ifs[ifno]->init(); } -static unsigned char iv[16] = {0}; +#define INITIV {0} unsigned long encrypt(void *key, int keylen, void *pt, void *ct, int tlen) { + unsigned char iv[16] = INITIV; + assert(keylen == 16); return ifs[which]->encrypt(key, keylen, iv, pt, ct, tlen); } unsigned long decrypt(void *key, int keylen, void *ct, void *pt, int tlen) { + unsigned char iv[16] = INITIV; + assert(keylen == 16); return ifs[which]->decrypt(key, keylen, iv, ct, pt, tlen); } -- 2.39.2