Skip to content
This repository has been archived by the owner on Apr 18, 2023. It is now read-only.

Commit

Permalink
Merge pull request #3213 from orestisf1993/issue-2535
Browse files Browse the repository at this point in the history
Fix memory leak when _XKB_RULES_NAMES can't be found
  • Loading branch information
Airblader committed Mar 30, 2018
2 parents 77bfa59 + 4143f3a commit 63133c8
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions src/bindings.c
Expand Up @@ -958,10 +958,7 @@ bool load_keymap(void) {
.options = NULL};
if (fill_rmlvo_from_root(&names) == -1) {
ELOG("Could not get _XKB_RULES_NAMES atom from root window, falling back to defaults.\n");
if ((new_keymap = xkb_keymap_new_from_names(xkb_context, &names, 0)) == NULL) {
ELOG("xkb_keymap_new_from_names(NULL) failed\n");
return false;
}
/* Using NULL for the fields of xkb_rule_names. */
}
new_keymap = xkb_keymap_new_from_names(xkb_context, &names, 0);
free((char *)names.rules);
Expand All @@ -970,7 +967,7 @@ bool load_keymap(void) {
free((char *)names.variant);
free((char *)names.options);
if (new_keymap == NULL) {
ELOG("xkb_keymap_new_from_names(RMLVO) failed\n");
ELOG("xkb_keymap_new_from_names failed\n");
return false;
}
}
Expand Down

0 comments on commit 63133c8

Please sign in to comment.