]> www.wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
Merge branch 'master' of https://github.com/gost-engine/engine
authorDmitry Belyavskiy <beldmit@gmail.com>
Sun, 10 May 2020 14:15:45 +0000 (17:15 +0300)
committerDmitry Belyavskiy <beldmit@gmail.com>
Sun, 10 May 2020 14:15:45 +0000 (17:15 +0300)
1  2 
gost_crypt.c

diff --combined gost_crypt.c
index 6d265a6c991964e06ddd462e7c6c03b79f570912,33dc668cba088cbf88fa1053d432bf835f7390a5..2bede853fd617919f4d83bb239b0f9ffe1ae8692
@@@ -774,10 -774,11 +774,11 @@@ int magma_cipher_do_cbc(EVP_CIPHER_CTX 
                  d[7 - i] = in_ptr[i];
              }
              gostdecrypt(&(c->cctx), d, b);
+             memcpy(d, in_ptr, 8);
              for (i = 0; i < 8; i++) {
                  out_ptr[i] = iv[i] ^ b[7 - i];
              }
-             memcpy(iv, in_ptr, 8);
+             memcpy(iv, d, 8);
              out_ptr += 8;
              in_ptr += 8;
              inl -= 8;
@@@ -866,9 -867,6 +867,9 @@@ static int magma_cipher_do_ctr_acpkm_om
        if (in == NULL && inl == 0) /* Final call */
                return gost2015_final_call(ctx, c->omac_ctx, MAGMA_MAC_MAX_SIZE, c->tag, magma_cipher_do_ctr);
  
 +  if (in == NULL)
 +      return -1;
 +
        /* As in and out can be the same pointer, process unencrypted here */
        if (EVP_CIPHER_CTX_encrypting(ctx))
                EVP_DigestSignUpdate(c->omac_ctx, in, inl);