- markus@cvs.openbsd.org 2002/03/25 21:04:02
     [ssh.c]
     simplify num_identity_files handling
diff --git a/ssh.c b/ssh.c
index dd926b7..062e098 100644
--- a/ssh.c
+++ b/ssh.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.167 2002/03/25 17:34:27 markus Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.168 2002/03/25 21:04:02 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/err.h>
@@ -1197,8 +1197,6 @@
 		int count = 0;
 		for (i = 0; keys[i] != NULL; i++) {
 			count++;
-			if (options.num_identity_files + 1 > SSH_MAX_IDENTITY_FILES)
-				options.num_identity_files = SSH_MAX_IDENTITY_FILES - 1;
 			memmove(&options.identity_files[1], &options.identity_files[0],
 			    sizeof(char *) * (SSH_MAX_IDENTITY_FILES - 1));
 			memmove(&options.identity_keys[1], &options.identity_keys[0],
@@ -1207,6 +1205,8 @@
 			options.identity_keys[0] = keys[i];
 			options.identity_files[0] = xstrdup("smartcard key");;
 		}
+		if (options.num_identity_files > SSH_MAX_IDENTITY_FILES)
+			options.num_identity_files = SSH_MAX_IDENTITY_FILES;
 		i = count;
 		xfree(keys);
 	}