=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/key.c,v retrieving revision 1.58.4.1 retrieving revision 1.58.4.2 diff -u -r1.58.4.1 -r1.58.4.2 --- src/usr.bin/ssh/Attic/key.c 2006/09/30 04:06:50 1.58.4.1 +++ src/usr.bin/ssh/Attic/key.c 2006/11/08 00:17:14 1.58.4.2 @@ -1,4 +1,4 @@ -/* $OpenBSD: key.c,v 1.58.4.1 2006/09/30 04:06:50 brad Exp $ */ +/* $OpenBSD: key.c,v 1.58.4.2 2006/11/08 00:17:14 brad Exp $ */ /* * read_bignum(): * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -614,16 +614,18 @@ switch (k->type) { case KEY_DSA: n = key_new(k->type); - BN_copy(n->dsa->p, k->dsa->p); - BN_copy(n->dsa->q, k->dsa->q); - BN_copy(n->dsa->g, k->dsa->g); - BN_copy(n->dsa->pub_key, k->dsa->pub_key); + if ((BN_copy(n->dsa->p, k->dsa->p) == NULL) || + (BN_copy(n->dsa->q, k->dsa->q) == NULL) || + (BN_copy(n->dsa->g, k->dsa->g) == NULL) || + (BN_copy(n->dsa->pub_key, k->dsa->pub_key) == NULL)) + fatal("key_from_private: BN_copy failed"); break; case KEY_RSA: case KEY_RSA1: n = key_new(k->type); - BN_copy(n->rsa->n, k->rsa->n); - BN_copy(n->rsa->e, k->rsa->e); + if ((BN_copy(n->rsa->n, k->rsa->n) == NULL) || + (BN_copy(n->rsa->e, k->rsa->e) == NULL)) + fatal("key_from_private: BN_copy failed"); break; default: fatal("key_from_private: unknown type %d", k->type);