=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/krl.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- src/usr.bin/ssh/krl.c 2019/11/25 00:51:37 1.46 +++ src/usr.bin/ssh/krl.c 2020/01/25 23:02:13 1.47 @@ -14,7 +14,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $OpenBSD: krl.c,v 1.46 2019/11/25 00:51:37 djm Exp $ */ +/* $OpenBSD: krl.c,v 1.47 2020/01/25 23:02:13 djm Exp $ */ #include #include @@ -1334,29 +1334,19 @@ { struct sshbuf *krlbuf = NULL; struct ssh_krl *krl = NULL; - int oerrno = 0, r, fd; + int oerrno = 0, r; if (path == NULL) return 0; - - if ((krlbuf = sshbuf_new()) == NULL) - return SSH_ERR_ALLOC_FAIL; - if ((fd = open(path, O_RDONLY)) == -1) { - r = SSH_ERR_SYSTEM_ERROR; + if ((r = sshbuf_load_file(path, &krlbuf)) != 0) { oerrno = errno; goto out; } - if ((r = sshkey_load_file(fd, krlbuf)) != 0) { - oerrno = errno; - goto out; - } if ((r = ssh_krl_from_blob(krlbuf, &krl, NULL, 0)) != 0) goto out; debug2("%s: checking KRL %s", __func__, path); r = ssh_krl_check_key(krl, key); out: - if (fd != -1) - close(fd); sshbuf_free(krlbuf); ssh_krl_free(krl); if (r != 0)