hrev43643 adds 1 changeset to branch 'master' old head: a5a013ca40aa991d809cffb85a7367e67132ea0c new head: 74983a5f69cef9ef4e0d316ec79123e7015b3256 ---------------------------------------------------------------------------- 74983a5: shortcut_catcher: memory leak fixes memory allocated in get_key_map(..) wasn't released. CID 5696, CID 5697, CID 1699, CID 1700 [ Philippe Saint-Pierre <stpere@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev43643 Commit: 74983a5f69cef9ef4e0d316ec79123e7015b3256 URL: http://cgit.haiku-os.org/haiku/commit/?id=74983a5 Author: Philippe Saint-Pierre <stpere@xxxxxxxxx> Date: Sun Jan 8 01:42:19 2012 UTC ---------------------------------------------------------------------------- 2 files changed, 6 insertions(+), 1 deletions(-) .../filters/shortcut_catcher/CommandActuators.cpp | 2 ++ .../filters/shortcut_catcher/KeyInfos.cpp | 5 ++++- ---------------------------------------------------------------------------- diff --git a/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.cpp b/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.cpp index af53a9d..6f72dfc 100644 --- a/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.cpp +++ b/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.cpp @@ -797,6 +797,8 @@ KeyStrokeSequenceCommandActuator::_GenerateKeyCodes() _SetStateBit(states, overrideKey); } } + free(keys); + free(map); } diff --git a/src/add-ons/input_server/filters/shortcut_catcher/KeyInfos.cpp b/src/add-ons/input_server/filters/shortcut_catcher/KeyInfos.cpp index ab20c61..5174b4f 100644 --- a/src/add-ons/input_server/filters/shortcut_catcher/KeyInfos.cpp +++ b/src/add-ons/input_server/filters/shortcut_catcher/KeyInfos.cpp @@ -11,6 +11,7 @@ #include <stdio.h> +#include <stdlib.h> #include <string.h> #include <ctype.h> @@ -102,7 +103,7 @@ static const char* FindSpecialKeyLabelFor(uint8 keyCode, int& last) { while ((keyLabels[last].fKeyCode < keyCode) - && (last < (sizeof(keyLabels)/sizeof(struct KeyLabelMap))-1)) + && (last < (sizeof(keyLabels) / sizeof(struct KeyLabelMap)) - 1)) last++; if (keyLabels[last].fKeyCode == keyCode) @@ -151,6 +152,8 @@ InitKeyIndices() } else utfDescriptions[j * MAX_UTF8_LENGTH] = 0x00; } + free(keys); + free(map); }