From: Peter Hutterer Date: Thu, 27 Feb 2014 01:22:27 +0000 (+1000) Subject: Plug a memory leak for name, uniq, phys X-Git-Tag: libevdev-1.0.99.1~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f162f00f1db2cd0141958a4d8ed4a665bfc888e3;p=platform%2Fupstream%2Flibevdev.git Plug a memory leak for name, uniq, phys If a device is assigned a name, uniq and/or phys before calling libevdev_set_fd(), those values would leak. Change the default alloc to calloc, so name, uniq, and phys are initialized to zero before we call libevdev_reset Signed-off-by: Peter Hutterer --- diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c index 526c448..6127e64 100644 --- a/libevdev/libevdev.c +++ b/libevdev/libevdev.c @@ -133,6 +133,9 @@ log_msg(enum libevdev_log_priority priority, static void libevdev_reset(struct libevdev *dev) { + free(dev->name); + free(dev->phys); + free(dev->uniq); memset(dev, 0, sizeof(*dev)); dev->fd = -1; dev->initialized = false; @@ -148,7 +151,7 @@ libevdev_new(void) { struct libevdev *dev; - dev = malloc(sizeof(*dev)); + dev = calloc(1, sizeof(*dev)); if (!dev) return NULL;