]> wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
fix_cbc_281
authorWolfgang Beck <beck.wolfgang@oracle.com>
Fri, 9 Oct 2020 06:57:03 +0000 (16:57 +1000)
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>
Fri, 9 Oct 2020 07:34:37 +0000 (10:34 +0300)
gost_crypt.c

index feca0b6e2ec030361b6aed90ce8de25f4b67c873..213b285bad436544431ac62207083306a4a630d0 100644 (file)
@@ -575,11 +575,13 @@ static int gost_cipher_do_cbc(EVP_CIPHER_CTX *ctx, unsigned char *out,
         }
     } else {
         while (inl > 0) {
+            unsigned char tmpiv[8];
             gostdecrypt(&(c->cctx), in_ptr, b);
+            memcpy(tmpiv, in_ptr, 8);
             for (i = 0; i < 8; i++) {
                 out_ptr[i] = iv[i] ^ b[i];
             }
-            memcpy(iv, in_ptr, 8);
+            memcpy(iv, tmpiv, 8);
             out_ptr += 8;
             in_ptr += 8;
             inl -= 8;