=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/sk-usbhid.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- src/usr.bin/ssh/sk-usbhid.c 2020/08/27 01:08:19 1.23 +++ src/usr.bin/ssh/sk-usbhid.c 2020/08/27 09:43:28 1.24 @@ -350,8 +350,13 @@ skdebug(__func__, "sk_openv failed"); return NULL; } + if (skvcnt == 1) { + sk = skv[0]; + skv[0] = NULL; + goto out; + } sk = NULL; - for (i = 0; i < skvcnt; i++) + for (i = 0; i < skvcnt; i++) { if (sk_try(skv[i], application, key_handle, key_handle_len) == 0) { sk = skv[i]; @@ -359,6 +364,8 @@ skdebug(__func__, "found key in %s", sk->path); break; } + } + out: sk_closev(skv, skvcnt); return sk; }