block: Unref udev device 95/161195/1 accepted/tizen/4.0/unified/20171123.184401 submit/tizen_4.0/20171122.101441
authorpr.jung <pr.jung@samsung.com>
Wed, 22 Nov 2017 05:46:57 +0000 (14:46 +0900)
committerpr.jung <pr.jung@samsung.com>
Wed, 22 Nov 2017 05:46:57 +0000 (14:46 +0900)
Change-Id: Ibe9df053cfb7f6e0fd0bb37332057154c57ffaf4
Signed-off-by: pr.jung <pr.jung@samsung.com>
src/block/block.c

index 79fb7985b7b71b23e149b9853976a4faa3a610e5..4df4812ad97ac69aadbfd63ce2ab32a225f179da 100644 (file)
@@ -2536,22 +2536,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;
                }