summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Nicholson <dbn.lists@gmail.com>2010-06-07 20:39:48 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2010-06-10 14:32:57 +1000
commit94547b2d1448232ae316c228d65482cc0b646ac2 (patch)
tree364b13c9c9e121c5b6ee6e5eff2d33b39db0bb42
parent8e97e5f9425639ad0a084150d0b232cad417595d (diff)
config/hal: don't leak the input.tags property
Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Dan Nicholson <dbn.lists@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--config/hal.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/config/hal.c b/config/hal.c
index 5938d4e24..b5a350f59 100644
--- a/config/hal.c
+++ b/config/hal.c
@@ -129,6 +129,7 @@ static void
device_added(LibHalContext *hal_ctx, const char *udi)
{
char *path = NULL, *driver = NULL, *name = NULL, *config_info = NULL;
+ char *hal_tags;
InputOption *options = NULL, *tmpo = NULL;
InputAttributes attrs = {0};
DeviceIntPtr dev = NULL;
@@ -164,7 +165,9 @@ device_added(LibHalContext *hal_ctx, const char *udi)
attrs.product = xstrdup(name);
attrs.vendor = get_prop_string(hal_ctx, udi, "info.vendor");
- attrs.tags = xstrtokenize(get_prop_string(hal_ctx, udi, "input.tags"), ",");
+ hal_tags = get_prop_string(hal_ctx, udi, "input.tags");
+ attrs.tags = xstrtokenize(hal_tags, ",");
+ free(hal_tags);
if (libhal_device_query_capability(hal_ctx, udi, "input.keys", NULL))
attrs.flags |= ATTR_KEYBOARD;