From 45596ac8e456675863814b2a6eb052abb361cad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sat, 25 Mar 2017 17:40:43 +0100 Subject: [PATCH] Fix memory leak after processing udev MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit 0a8417d4143eb680da726d3cb4384ad7ca898a15) --- tdekbdledsync/main.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tdekbdledsync/main.cpp b/tdekbdledsync/main.cpp index 0f4075694..1dbf7ef73 100644 --- a/tdekbdledsync/main.cpp +++ b/tdekbdledsync/main.cpp @@ -467,11 +467,15 @@ int main() { else { dev = udev_monitor_receive_device(mon); if (dev) { + int reload_keyboards = 0; if (strcmp(udev_device_get_action(dev), "add") == 0) { - // Reload keyboards - break; + reload_keyboards = 1; } if (strcmp(udev_device_get_action(dev), "remove") == 0) { + reload_keyboards = 1; + } + udev_device_unref(dev); + if( reload_keyboards ) { // Reload keyboards break; } @@ -507,5 +511,7 @@ int main() { } releaseLock(lockfd, lockFileName); + udev_monitor_unref(mon); + udev_unref(udev); return 0; }