[systemd-commits] src/libudev

Kay Sievers kay at kemper.freedesktop.org
Sat Oct 27 21:01:10 PDT 2012


 src/libudev/libudev-hwdb.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 9485d98d7741604c3d728edaed60b02ad63b71df
Author: Kay Sievers <kay at vrfy.org>
Date:   Sun Oct 28 04:59:38 2012 +0100

    libudev: hwdb - cleanup list before getting new properties

diff --git a/src/libudev/libudev-hwdb.c b/src/libudev/libudev-hwdb.c
index a3f815f..8fe24a4 100644
--- a/src/libudev/libudev-hwdb.c
+++ b/src/libudev/libudev-hwdb.c
@@ -338,10 +338,10 @@ _public_ struct udev_hwdb *udev_hwdb_unref(struct udev_hwdb *hwdb) {
         hwdb->refcount--;
         if (hwdb->refcount > 0)
                 return hwdb;
-        if (hwdb->f)
-                fclose(hwdb->f);
         if (hwdb->map)
                 munmap((void *)hwdb->map, hwdb->st.st_size);
+        if (hwdb->f)
+                fclose(hwdb->f);
         udev_list_cleanup(&hwdb->properties_list);
         free(hwdb);
         return NULL;
@@ -382,6 +382,7 @@ _public_ struct udev_list_entry *udev_hwdb_get_properties_list_entry(struct udev
                 return NULL;
         }
 
+        udev_list_cleanup(&hwdb->properties_list);
         err = trie_search_f(hwdb, modalias);
         if (err < 0) {
                 errno = -err;



More information about the systemd-commits mailing list