diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2017-03-25 17:40:43 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2017-03-25 17:40:43 +0100 |
commit | 0a8417d4143eb680da726d3cb4384ad7ca898a15 (patch) | |
tree | 949d2782551cb8402266c9c06d4f09bffacd6ed3 /tdekbdledsync | |
parent | ba2fe631679775cc5e25fe0e7b9769e7bc0e0f68 (diff) | |
download | tdebase-0a8417d4143eb680da726d3cb4384ad7ca898a15.tar.gz tdebase-0a8417d4143eb680da726d3cb4384ad7ca898a15.zip |
Fix memory leak after processing udev
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'tdekbdledsync')
-rw-r--r-- | tdekbdledsync/main.cpp | 10 |
1 files 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; } |