summaryrefslogtreecommitdiff
path: root/key.c
diff options
context:
space:
mode:
Diffstat (limited to 'key.c')
-rw-r--r--key.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/key.c b/key.c
index f3b3d6b94..93b2d41fe 100644
--- a/key.c
+++ b/key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: key.c,v 1.67 2006/08/03 03:34:42 deraadt Exp $ */ 1/* $OpenBSD: key.c,v 1.68 2006/11/06 21:25:28 markus Exp $ */
2/* 2/*
3 * read_bignum(): 3 * read_bignum():
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -617,16 +617,18 @@ key_from_private(const Key *k)
617 switch (k->type) { 617 switch (k->type) {
618 case KEY_DSA: 618 case KEY_DSA:
619 n = key_new(k->type); 619 n = key_new(k->type);
620 BN_copy(n->dsa->p, k->dsa->p); 620 if ((BN_copy(n->dsa->p, k->dsa->p) == NULL) ||
621 BN_copy(n->dsa->q, k->dsa->q); 621 (BN_copy(n->dsa->q, k->dsa->q) == NULL) ||
622 BN_copy(n->dsa->g, k->dsa->g); 622 (BN_copy(n->dsa->g, k->dsa->g) == NULL) ||
623 BN_copy(n->dsa->pub_key, k->dsa->pub_key); 623 (BN_copy(n->dsa->pub_key, k->dsa->pub_key) == NULL))
624 fatal("key_from_private: BN_copy failed");
624 break; 625 break;
625 case KEY_RSA: 626 case KEY_RSA:
626 case KEY_RSA1: 627 case KEY_RSA1:
627 n = key_new(k->type); 628 n = key_new(k->type);
628 BN_copy(n->rsa->n, k->rsa->n); 629 if ((BN_copy(n->rsa->n, k->rsa->n) == NULL) ||
629 BN_copy(n->rsa->e, k->rsa->e); 630 (BN_copy(n->rsa->e, k->rsa->e) == NULL))
631 fatal("key_from_private: BN_copy failed");
630 break; 632 break;
631 default: 633 default:
632 fatal("key_from_private: unknown type %d", k->type); 634 fatal("key_from_private: unknown type %d", k->type);