From 1f9c094119296e10d9d7144867b689495c6420bd Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Tue, 18 Nov 2014 05:28:50 +0100 Subject: hidpp: fix memleak for each Feature The name of each Logitech HID++ 2.0 Feature will now be freed. https://bugs.freedesktop.org/show_bug.cgi?id=82659 --- src/linux/hidpp-device.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/linux/hidpp-device.c b/src/linux/hidpp-device.c index 106f55a..9a651d8 100644 --- a/src/linux/hidpp-device.c +++ b/src/linux/hidpp-device.c @@ -1014,6 +1014,17 @@ out: return ret; } +/** + * hidpp_device_free_feature: + **/ +static void +hidpp_device_free_feature (gpointer data) +{ + HidppDeviceMap *map = data; + g_free (map->name); + g_free (map); +} + /** * hidpp_device_init: **/ @@ -1024,7 +1035,7 @@ hidpp_device_init (HidppDevice *device) device->priv = HIDPP_DEVICE_GET_PRIVATE (device); device->priv->fd = -1; - device->priv->feature_index = g_ptr_array_new_with_free_func (g_free); + device->priv->feature_index = g_ptr_array_new_with_free_func (hidpp_device_free_feature); device->priv->batt_status = HIDPP_DEVICE_BATT_STATUS_UNKNOWN; device->priv->kind = HIDPP_DEVICE_KIND_UNKNOWN; device->priv->lux = -1; -- cgit v1.2.1