From: Peter Hutterer Date: Thu, 24 Oct 2019 04:27:37 +0000 (+1000) Subject: udev: fix potential memory leak for the phys string X-Git-Tag: 1.14.901~65 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8a75da773e19f812c088dc87b82a2232e3bce032;p=platform%2Fupstream%2Flibinput.git udev: fix potential memory leak for the phys string Signed-off-by: Peter Hutterer --- diff --git a/udev/libinput-device-group.c b/udev/libinput-device-group.c index dfcf9e0a..46348e00 100644 --- a/udev/libinput-device-group.c +++ b/udev/libinput-device-group.c @@ -95,7 +95,7 @@ static void wacom_handle_ekr(struct udev_device *device, int *vendor_id, int *product_id, - const char **phys_attr) + char **phys_attr) { struct udev *udev; struct udev_enumerate *e; @@ -138,7 +138,7 @@ wacom_handle_ekr(struct udev_device *device, *product_id = pid; best_dist = dist; - free((char*)*phys_attr); + free(*phys_attr); *phys_attr = strdup(phys); } } @@ -155,8 +155,7 @@ int main(int argc, char **argv) struct udev *udev = NULL; struct udev_device *device = NULL; const char *syspath, - *phys = NULL, - *physmatch = NULL; + *phys = NULL; const char *product; int bustype, vendor_id, product_id, version; char group[1024]; @@ -208,6 +207,8 @@ int main(int argc, char **argv) &version) != 4) { snprintf(group, sizeof(group), "%s:%s", product, phys); } else { + char *physmatch = NULL; + #if HAVE_LIBWACOM_GET_PAIRED_DEVICE if (vendor_id == VENDOR_ID_WACOM) { if (product_id == PRODUCT_ID_WACOM_EKR) @@ -228,6 +229,8 @@ int main(int argc, char **argv) vendor_id, product_id, physmatch ? physmatch : phys); + + free(physmatch); } str = strstr(group, "/input");