Free the event queue on cleanup.
authorPeter Hutterer <peter.hutterer@who-t.net>
Fri, 31 May 2013 05:24:39 +0000 (15:24 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Fri, 31 May 2013 05:24:39 +0000 (15:24 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libevdev/libevdev-int.h
libevdev/libevdev.c

index 7b28884..492608a 100644 (file)
@@ -168,6 +168,14 @@ queue_alloc(struct libevdev *dev, int size)
        return 0;
 }
 
+static inline void
+queue_free(struct libevdev *dev)
+{
+       free(dev->queue);
+       dev->queue_size = 0;
+       dev->queue_next = 0;
+}
+
 static inline int
 queue_num_elements(struct libevdev *dev)
 {
index 7a10792..81bee60 100644 (file)
@@ -165,6 +165,7 @@ libevdev_new(int fd)
 void
 libevdev_free(struct libevdev *dev)
 {
+       queue_free(dev);
        free(dev);
 }