block: Unref udev device 96/161196/1
authorpr.jung <pr.jung@samsung.com>
Wed, 22 Nov 2017 05:46:57 +0000 (14:46 +0900)
committerJung <pr.jung@samsung.com>
Wed, 22 Nov 2017 05:47:25 +0000 (05:47 +0000)
Change-Id: Ibe9df053cfb7f6e0fd0bb37332057154c57ffaf4
Signed-off-by: pr.jung <pr.jung@samsung.com>
src/block/block.c

index a069460..79a4af4 100644 (file)
@@ -2543,22 +2543,29 @@ static int block_init_from_udev_enumerate(void)
 
                if (!devnode) {
                        devnode = udev_device_get_devnode(dev);
-                       if (!devnode)
+                       if (!devnode) {
+                               udev_device_unref(dev);
                                continue;
+                       }
 
                        if (fnmatch(MMC_PATH, devnode, 0) &&
                            fnmatch(SCSI_PATH, devnode, 0) &&
-                           fnmatch(EXTENDEDSD_NODE_PATH, devnode, 0))
+                           fnmatch(EXTENDEDSD_NODE_PATH, devnode, 0)) {
+                               udev_device_unref(dev);
                                continue;
+                       }
                }
 
                r = check_external_storage(devnode);
-               if (r <= 0)
+               if (r <= 0) {
+                       udev_device_unref(dev);
                        continue;
+               }
 
                r = check_already_handled(devnode);
                if (r < 0) {
                        _I("%s is already handled", devnode);
+                       udev_device_unref(dev);
                        continue;
                }