diff options
| author | David Shaw <[email protected]> | 2003-12-17 23:04:53 +0000 |
|---|---|---|
| committer | David Shaw <[email protected]> | 2003-12-17 23:04:53 +0000 |
| commit | 7847eae02c14adae19b69a329ecf1ee17b7eda1d (patch) | |
| tree | e4a10de8f235b118d05b767056e649cf4d613d0e /g10/seckey-cert.c | |
| parent | * mpiutil.c (mpi_set_opaque, mpi_get_opaque): Make the length of an opaque (diff) | |
| download | gnupg-7847eae02c14adae19b69a329ecf1ee17b7eda1d.tar.gz gnupg-7847eae02c14adae19b69a329ecf1ee17b7eda1d.zip | |
* build-packet.c (write_fake_data, do_secret_key), seckey-cert.c
(do_check): Use an unsigned length for mpi_get_opaque.
* options.h: It's impolite to assign -1 to an unsigned
opt.force_ownertrust.
Diffstat (limited to 'g10/seckey-cert.c')
| -rw-r--r-- | g10/seckey-cert.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/g10/seckey-cert.c b/g10/seckey-cert.c index 5730735b8..d0b57f14b 100644 --- a/g10/seckey-cert.c +++ b/g10/seckey-cert.c @@ -86,7 +86,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode, cipher_setiv( cipher_hd, sk->protect.iv, sk->protect.ivlen ); csum = 0; if( sk->version >= 4 ) { - int ndata; + unsigned int ndata; byte *p, *data; u16 csumc = 0; @@ -140,7 +140,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode, } } } - + /* must check it here otherwise the mpi_read_xx would fail because the length may have an arbitrary value */ if( sk->csum == csum ) { @@ -159,8 +159,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode, for(i=pubkey_get_npkey(sk->pubkey_algo); i < pubkey_get_nskey(sk->pubkey_algo); i++ ) { byte *p; - int ndata; - unsigned int dummy; + unsigned int ndata; assert (mpi_is_opaque (sk->skey[i])); p = mpi_get_opaque (sk->skey[i], &ndata); @@ -173,8 +172,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode, cipher_decrypt (cipher_hd, buffer+2, p+2, ndata-2); csum += checksum (buffer, ndata); mpi_free (sk->skey[i]); - dummy = ndata; - sk->skey[i] = mpi_read_from_buffer (buffer, &dummy, 1); + sk->skey[i] = mpi_read_from_buffer (buffer, &ndata, 1); assert (sk->skey[i]); m_free (buffer); /* csum += checksum_mpi (sk->skey[i]); */ |
