Don't leak SK device. Patch from Pedro Martelletto via github PR#316.
authordtucker <dtucker@openbsd.org>
Fri, 29 Apr 2022 03:16:48 +0000 (03:16 +0000)
committerdtucker <dtucker@openbsd.org>
Fri, 29 Apr 2022 03:16:48 +0000 (03:16 +0000)
ok djm@

usr.bin/ssh/sk-usbhid.c
usr.bin/ssh/ssh-sk-helper.c

index 795a21d..a8186ca 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sk-usbhid.c,v 1.38 2022/02/07 01:25:12 djm Exp $ */
+/* $OpenBSD: sk-usbhid.c,v 1.39 2022/04/29 03:16:48 dtucker Exp $ */
 /*
  * Copyright (c) 2019 Markus Friedl
  * Copyright (c) 2020 Pedro Martelletto
@@ -1273,6 +1273,7 @@ sk_load_resident_keys(const char *pin, struct sk_option **options,
                freezero(rks[i]->user_id, rks[i]->user_id_len);
                freezero(rks[i], sizeof(*rks[i]));
        }
+       free(device);
        free(rks);
        return ret;
 }
index 8b40d1d..4627866 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-sk-helper.c,v 1.12 2021/10/28 02:54:18 djm Exp $ */
+/* $OpenBSD: ssh-sk-helper.c,v 1.13 2022/04/29 03:16:48 dtucker Exp $ */
 /*
  * Copyright (c) 2019 Google LLC
  *
@@ -262,6 +262,7 @@ process_load_resident(struct sshbuf *req)
        sshsk_free_resident_keys(srks, nsrks);
        sshbuf_free(kbuf);
        free(provider);
+       free(device);
        if (pin != NULL)
                freezero(pin, strlen(pin));
        return resp;