diff options
author | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2009-01-24 02:51:45 +0000 |
---|---|---|
committer | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2009-01-24 02:51:45 +0000 |
commit | 21e37311f74460550001f25240be0ebd83e11ea9 (patch) | |
tree | cf7f435ace477e6ed554b27c8be984b4a93b683f /vmac.cpp | |
parent | 83c4add7725ca2489ee5f10aee215e804368838b (diff) | |
download | cryptopp-21e37311f74460550001f25240be0ebd83e11ea9.tar.gz |
fix incorrect VMAC computation on message lengths that are >64 mod 128
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@431 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'vmac.cpp')
-rwxr-xr-x | vmac.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -472,20 +472,18 @@ void VMAC_Base::VHASH_Update_Template(const word64 *data, size_t blocksRemaining DeclareNH(nhA); DeclareNH(nhB); + i = 0; if (blocksRemainingInWord64 < L1KeyLengthInWord64) { if (blocksRemainingInWord64 % 8) { innerLoopEnd = blocksRemainingInWord64 % 8; - for (i=0; i<innerLoopEnd; i+=2) + for (; i<innerLoopEnd; i+=2) INNER_LOOP_ITERATION(0); - blocksRemainingInWord64 -= innerLoopEnd; - data += innerLoopEnd; } innerLoopEnd = blocksRemainingInWord64; } - - for (i=0; i<innerLoopEnd; i+=8) + for (; i<innerLoopEnd; i+=8) { INNER_LOOP_ITERATION(0); INNER_LOOP_ITERATION(1); |