chiark / gitweb /
libudev: fix fd leak in udev_enumerate_scan_devices() when tags are searched
authorKay Sievers <kay.sievers@vrfy.org>
Sat, 5 Jun 2010 08:30:36 +0000 (10:30 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Sat, 5 Jun 2010 08:30:36 +0000 (10:30 +0200)
Thanks to Lennart for finding this.

Makefile.am
libudev/libudev-enumerate.c

index caca2555ff29e3da4ac27e83d5d6c10316b8a6b1..bafe4c7facb2e4155ed72fc4a69237285693d830 100644 (file)
@@ -29,7 +29,7 @@ CLEANFILES =
 # libudev
 # ------------------------------------------------------------------------------
 LIBUDEV_CURRENT=8
 # libudev
 # ------------------------------------------------------------------------------
 LIBUDEV_CURRENT=8
-LIBUDEV_REVISION=2
+LIBUDEV_REVISION=3
 LIBUDEV_AGE=8
 
 SUBDIRS += libudev/docs
 LIBUDEV_AGE=8
 
 SUBDIRS += libudev/docs
index da831449dcaf5e936a14409e8e68ab12d30a98e2..f13e56f2f7f72a57bba96ee0ebe4501c924c1b9d 100644 (file)
@@ -735,6 +735,7 @@ int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerate)
                                syspath_add(udev_enumerate, udev_device_get_syspath(dev));
                                udev_device_unref(dev);
                        }
                                syspath_add(udev_enumerate, udev_device_get_syspath(dev));
                                udev_device_unref(dev);
                        }
+                       closedir(dir);
                }
        } else {
                util_strscpyl(base, sizeof(base), udev_get_sys_path(udev), "/subsystem", NULL);
                }
        } else {
                util_strscpyl(base, sizeof(base), udev_get_sys_path(udev), "/subsystem", NULL);