On 11/14/2014 05:12 PM, Jan Synacek wrote:
+int xkb_keymap_get_components(X11Keymap *keymap) {
+        _cleanup_strv_free_ char **models = NULL, **options = NULL;
+        _cleanup_fclose_ FILE *f;
+        char line[LINE_MAX];
+        enum KeymapComponent state = NONE;
+        size_t m = 0, o = 0, allocm = 0, alloco = 0;
+
+        Hashmap *x11_layouts;
+        int r;
+
+        x11_layouts = hashmap_new(&string_hash_ops);
+        if (!x11_layouts)
+                return log_oom();
+
+        f = fopen("/usr/share/X11/xkb/rules/base.lst", "re");
+        if (!f) {
+                log_error("Failed to open keyboard mapping list. %m");

 isn't x11_layouts leaking memory here ? should not we free this
+                return -errno;
+        }
+
+        FOREACH_LINE(line, f, break) {
+                char *l, *w;
+                _cleanup_free_ char *layout = NULL;
+
+                l = strstrip(line);
+
+                if (isempty(l))
+                        continue;

Susant
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to