From: Eugene Crosser Date: Thu, 31 Oct 2013 08:48:46 +0000 (+0400) Subject: reinit iv before every op X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=commitdiff_plain;h=494a41933db4715feddb06235f7973e6b90ae3a3 reinit iv before every op --- 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); }