aboutsummaryrefslogtreecommitdiffstats
path: root/g10/elg.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/elg.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/g10/elg.c b/g10/elg.c
index 9f11d632c..492049a30 100644
--- a/g10/elg.c
+++ b/g10/elg.c
@@ -66,7 +66,7 @@ g10_elg_encrypt( PKT_public_cert *pkc, PKT_pubkey_enc *enc, DEK *dek )
void
-g10_elg_sign( PKT_secret_cert *skc, PKT_signature *sig, MD_HANDLE *md )
+g10_elg_sign( PKT_secret_cert *skc, PKT_signature *sig, MD_HANDLE md )
{
ELG_secret_key skey;
MPI frame;
@@ -74,9 +74,10 @@ g10_elg_sign( PKT_secret_cert *skc, PKT_signature *sig, MD_HANDLE *md )
assert( sig->pubkey_algo == PUBKEY_ALGO_ELGAMAL );
- dp = md_final( md );
+ md_final( md );
+ dp = md_read( md, 0 );
keyid_from_skc( skc, sig->keyid );
- sig->d.elg.digest_algo = md->algo;
+ sig->d.elg.digest_algo = md_get_algo(md);
sig->d.elg.digest_start[0] = dp[0];
sig->d.elg.digest_start[1] = dp[1];
sig->d.elg.a = mpi_alloc( mpi_get_nlimbs(skc->d.elg.p) );