X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Frijndael-api-fst.c;h=41f58a1632d41156951d33a4a7ef8afbffa87653;hb=3054e0c0b6c3f998ea52d8d25fc2bf1700a093ca;hp=b7053a5b7cd9e8d322dc496331b14ecbe7bd0836;hpb=b1d63f6a62e094b90cd900923b5537ea985aba30;p=gnulib.git diff --git a/lib/rijndael-api-fst.c b/lib/rijndael-api-fst.c index b7053a5b7..41f58a163 100644 --- a/lib/rijndael-api-fst.c +++ b/lib/rijndael-api-fst.c @@ -244,7 +244,7 @@ rijndaelBlockEncrypt (rijndaelCipherInstance *cipher, ((uint32_t *) block)[3] = ((uint32_t *) input)[3] ^ ((uint32_t *) iv)[3]; rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); - iv = outBuffer; + memcpy (cipher->IV, outBuffer, 16); input += 16; outBuffer += 16; } @@ -327,7 +327,7 @@ rijndaelPadEncrypt (rijndaelCipherInstance *cipher, ((uint32_t *) block)[3] = ((uint32_t *) input)[3] ^ ((uint32_t *) iv)[3]; rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); - iv = outBuffer; + memcpy (cipher->IV, outBuffer, 16); input += 16; outBuffer += 16; } @@ -342,6 +342,7 @@ rijndaelPadEncrypt (rijndaelCipherInstance *cipher, block[i] = (char) padLen ^ iv[i]; } rijndaelEncrypt (key->rk, key->Nr, block, outBuffer); + memcpy (cipher->IV, outBuffer, 16); break; default: