diff options
author | Miloslav Trmač <mitr@redhat.com> | 2010-09-06 14:53:03 +0200 |
---|---|---|
committer | Miloslav Trmač <mitr@redhat.com> | 2010-09-06 14:53:03 +0200 |
commit | 8afc069c742f80d3e383ba3d0e38697aeeeb147b (patch) | |
tree | 4c010eac56a1d6958e7c86d97579be6338552d51 /ncr-dh.c | |
parent | 3d758323280763fe59b1f61d4f86aa2a29fe3775 (diff) | |
parent | c5fb18ff697aefb156dfebe87ded77a9e1371c45 (diff) | |
download | kernel-crypto-8afc069c742f80d3e383ba3d0e38697aeeeb147b.tar.gz kernel-crypto-8afc069c742f80d3e383ba3d0e38697aeeeb147b.tar.xz kernel-crypto-8afc069c742f80d3e383ba3d0e38697aeeeb147b.zip |
Merge remote branch 'standalone/master' into standalone-masterncr-standalone-master
Diffstat (limited to 'ncr-dh.c')
-rw-r--r-- | ncr-dh.c | 26 |
1 files changed, 14 insertions, 12 deletions
@@ -92,20 +92,22 @@ int dh_generate_key(dh_key * key) return -ENOMEM; } - get_random_bytes(buf, size); + do { + get_random_bytes(buf, size); - if ((err = mp_read_unsigned_bin(&key->x, buf, size)) != CRYPT_OK) { - err(); - ret = _ncr_tomerr(err); - goto fail; - } + if ((err = mp_read_unsigned_bin(&key->x, buf, size)) != CRYPT_OK) { + err(); + ret = _ncr_tomerr(err); + goto fail; + } - err = mp_mod(&key->x, &key->p, &key->x); - if (err != CRYPT_OK) { - err(); - ret = _ncr_tomerr(err); - goto fail; - } + err = mp_mod(&key->x, &key->p, &key->x); + if (err != CRYPT_OK) { + err(); + ret = _ncr_tomerr(err); + goto fail; + } + } while(mp_cmp_d(&key->x, 0) == MP_EQ || mp_cmp_d(&key->x, 1) == MP_EQ); key->type = PK_PRIVATE; |