omac: fix accidentally reverted patch

introduced in 6816ac3f3fae776adb1372dbffd0441062006109
reverted in 8e7777b5545e46ab545bd51f7fcde7957134ade2
This commit is contained in:
Steffen Jaeckel 2014-05-01 15:44:09 +02:00
parent aa72cfe1d9
commit c211ce7f66

View File

@ -27,7 +27,7 @@
*/ */
int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen) int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
{ {
unsigned long n, x, blklen; unsigned long n, x;
int err; int err;
LTC_ARGCHK(omac != NULL); LTC_ARGCHK(omac != NULL);
@ -42,20 +42,23 @@ int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
} }
#ifdef LTC_FAST #ifdef LTC_FAST
blklen = cipher_descriptor[omac->cipher_idx].block_length; {
if (omac->buflen == 0 && inlen > blklen) { unsigned long blklen = cipher_descriptor[omac->cipher_idx].block_length;
unsigned long y;
for (x = 0; x < (inlen - blklen); x += blklen) { if (omac->buflen == 0 && inlen > blklen) {
for (y = 0; y < blklen; y += sizeof(LTC_FAST_TYPE)) { unsigned long y;
*((LTC_FAST_TYPE*)(&omac->prev[y])) ^= *((LTC_FAST_TYPE*)(&in[y])); for (x = 0; x < (inlen - blklen); x += blklen) {
} for (y = 0; y < blklen; y += sizeof(LTC_FAST_TYPE)) {
in += blklen; *((LTC_FAST_TYPE*)(&omac->prev[y])) ^= *((LTC_FAST_TYPE*)(&in[y]));
if ((err = cipher_descriptor[omac->cipher_idx].ecb_encrypt(omac->prev, omac->prev, &omac->key)) != CRYPT_OK) { }
return err; in += blklen;
} if ((err = cipher_descriptor[omac->cipher_idx].ecb_encrypt(omac->prev, omac->prev, &omac->key)) != CRYPT_OK) {
} return err;
inlen -= x; }
} }
inlen -= x;
}
}
#endif #endif
while (inlen != 0) { while (inlen != 0) {