Don't leak the various *Info's names when overriding them
authorRan Benita <ran234@gmail.com>
Thu, 1 Mar 2012 19:26:25 +0000 (21:26 +0200)
committerRan Benita <ran234@gmail.com>
Sat, 3 Mar 2012 22:04:04 +0000 (00:04 +0200)
Signed-off-by: Ran Benita <ran234@gmail.com>
src/xkbcomp/compat.c
src/xkbcomp/geometry.c
src/xkbcomp/keycodes.c
src/xkbcomp/keytypes.c
src/xkbcomp/symbols.c

index 6dcabbc..cdb0785 100644 (file)
@@ -702,6 +702,7 @@ HandleCompatMapFile(XkbFile * file,
 
     if (merge == MergeDefault)
         merge = MergeAugment;
+    free(info->name);
     info->name = _XkbDupString(file->name);
     stmt = file->defs;
     while (stmt)
index b90b595..8c31b6f 100644 (file)
@@ -2840,6 +2840,7 @@ HandleGeometryFile(XkbFile * file,
 
     if (merge == MergeDefault)
         merge = MergeAugment;
+    free(info->name);
     info->name = _XkbDupString(file->name);
     stmt = file->defs;
     while (stmt)
index fe97d62..69f87d1 100644 (file)
@@ -798,6 +798,7 @@ HandleKeycodesFile(XkbFile * file,
 {
     ParseCommon *stmt;
 
+    free(info->name);
     info->name = _XkbDupString(file->name);
     stmt = file->defs;
     while (stmt)
index fd49271..b0a1b11 100644 (file)
@@ -1028,6 +1028,7 @@ HandleKeyTypesFile(XkbFile * file,
 {
     ParseCommon *stmt;
 
+    free(info->name);
     info->name = _XkbDupString(file->name);
     stmt = file->defs;
     while (stmt)
index 416447e..95936ab 100644 (file)
@@ -1579,6 +1579,7 @@ HandleSymbolsFile(XkbFile * file,
 {
     ParseCommon *stmt;
 
+    free(info->name);
     info->name = _XkbDupString(file->name);
     stmt = file->defs;
     while (stmt)