diff options
author | Dan Nicholson <dbn.lists@gmail.com> | 2010-06-07 20:39:48 -0700 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2010-06-10 14:32:57 +1000 |
commit | 94547b2d1448232ae316c228d65482cc0b646ac2 (patch) | |
tree | 364b13c9c9e121c5b6ee6e5eff2d33b39db0bb42 /config/hal.c | |
parent | 8e97e5f9425639ad0a084150d0b232cad417595d (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>
Diffstat (limited to 'config/hal.c')
-rw-r--r-- | config/hal.c | 5 |
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; |