From fa1fbf0583a06db0c83b5a5370eb003a401d86e4 Mon Sep 17 00:00:00 2001 From: pfg Date: Wed, 29 Apr 2015 15:41:19 +0000 Subject: Plug memory leaks in kbdmux(4) (take 2) This is a fix to the previous attempt in r281889, which some (most?) keyboards. Discussed with: emaste, jkim Found by: clang static analyzer CID: 1007072 CID: 1007073 CID: 1007074 --- sys/dev/kbdmux/kbdmux.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sys/dev/kbdmux') diff --git a/sys/dev/kbdmux/kbdmux.c b/sys/dev/kbdmux/kbdmux.c index a21b37c..e0ae60b 100644 --- a/sys/dev/kbdmux/kbdmux.c +++ b/sys/dev/kbdmux/kbdmux.c @@ -470,6 +470,10 @@ kbdmux_init(int unit, keyboard_t **kbdp, void *arg, int flags) KBDMUX_LOCK(state); callout_reset(&state->ks_timo, TICKS, kbdmux_kbd_intr_timo, state); KBDMUX_UNLOCK(state); + } else if (needfree) { + free(accmap, M_KBDMUX); + free(fkeymap, M_KBDMUX); + free(keymap, M_KBDMUX); } return (0); -- cgit v1.1