X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_crypt.c;h=e9f311eb35c411adc6ccf154c34be3b3b00b2071;hb=672ef82b66374cde3b74140a9b78891cda451fac;hp=4e22145a46d27097ec4aa44d98b7a5e0c9c9cff4;hpb=0906436e33bdd8dabf07d494e3d6d5184cc02246;p=openssl-gost%2Fengine.git diff --git a/gost_crypt.c b/gost_crypt.c index 4e22145..e9f311e 100644 --- a/gost_crypt.c +++ b/gost_crypt.c @@ -610,11 +610,13 @@ 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;