summaryrefslogtreecommitdiffstats
path: root/tdm/kfrontend/tdm_greet.c
diff options
context:
space:
mode:
Diffstat (limited to 'tdm/kfrontend/tdm_greet.c')
-rw-r--r--tdm/kfrontend/tdm_greet.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tdm/kfrontend/tdm_greet.c b/tdm/kfrontend/tdm_greet.c
index 5c77fadf0..6f8c84caf 100644
--- a/tdm/kfrontend/tdm_greet.c
+++ b/tdm/kfrontend/tdm_greet.c
@@ -568,11 +568,16 @@ xkb_modifier_mask_work( XkbDescPtr xkb, const char *name )
return 0;
for (i = 0; i < XkbNumVirtualMods; i++) {
char *modStr = XGetAtomName( xkb->dpy, xkb->names->vmods[i] );
- if (modStr != NULL && strcmp( name, modStr ) == 0) {
+ if( modStr == NULL ) {
+ continue;
+ }
+ if( strcmp( name, modStr ) == 0 ) {
unsigned int mask;
XkbVirtualModsToReal( xkb, 1 << i, &mask );
+ XFree(modStr);
return mask;
}
+ XFree(modStr);
}
return 0;
}