=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/scard.c,v retrieving revision 1.29.8.1 retrieving revision 1.29.8.2 diff -u -r1.29.8.1 -r1.29.8.2 --- src/usr.bin/ssh/Attic/scard.c 2006/09/30 04:06:51 1.29.8.1 +++ src/usr.bin/ssh/Attic/scard.c 2006/11/08 00:17:14 1.29.8.2 @@ -1,4 +1,4 @@ -/* $OpenBSD: scard.c,v 1.29.8.1 2006/09/30 04:06:51 brad Exp $ */ +/* $OpenBSD: scard.c,v 1.29.8.2 2006/11/08 00:17:14 brad Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. * @@ -389,15 +389,17 @@ keys = xcalloc((nkeys+1), sizeof(Key *)); n = key_new(KEY_RSA1); - 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("sc_get_keys: BN_copy failed"); RSA_set_method(n->rsa, sc_get_rsa()); n->flags |= KEY_FLAG_EXT; keys[0] = n; n = key_new(KEY_RSA); - 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("sc_get_keys: BN_copy failed"); RSA_set_method(n->rsa, sc_get_rsa()); n->flags |= KEY_FLAG_EXT; keys[1] = n;