diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2007-05-31 12:32:27 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2007-05-31 12:32:27 +0000 |
commit | 0aa08a2e34bd905d14e2f684df724d4fd925b43b (patch) | |
tree | e1432e08535490e28acb8d6881e77934eb2273d9 /engines | |
parent | f20af723121b9a14dd248053b875ef9272ba7ffd (diff) | |
download | openssl-0aa08a2e34bd905d14e2f684df724d4fd925b43b.tar.gz |
Fix for GOST engine on platforms where sizeof(size_t) != sizeof(int).
Diffstat (limited to 'engines')
-rw-r--r-- | engines/ccgost/gost_pmeth.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/ccgost/gost_pmeth.c b/engines/ccgost/gost_pmeth.c index 746e681db1..621c209b42 100644 --- a/engines/ccgost/gost_pmeth.c +++ b/engines/ccgost/gost_pmeth.c @@ -651,12 +651,16 @@ static int pkey_gost_mac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx) static int pkey_gost_mac_signctx(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, EVP_MD_CTX *mctx) { + unsigned int tmpsiglen=*siglen; /* for platforms where sizeof(int)!=sizeof(size_t)*/ + int ret; if (!sig) { *siglen = 4; return 1; } - return EVP_DigestFinal_ex(mctx,sig,siglen); + ret=EVP_DigestFinal_ex(mctx,sig,&tmpsiglen); + *siglen = tmpsiglen; + return ret; } /* ----------------------------------------------------------------*/ int register_pmeth_gost(int id, EVP_PKEY_METHOD **pmeth,int flags) |