- 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);
}