usbhost: Ignore zeros when checking policy 06/181406/3 accepted/tizen/unified/20180712.092553 submit/tizen/20180710.030326
authorPaweł Szewczyk <p.szewczyk@samsung.com>
Wed, 13 Jun 2018 09:57:24 +0000 (11:57 +0200)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Sat, 7 Jul 2018 02:57:48 +0000 (02:57 +0000)
Change-Id: I3b60ded8baa51e40788d5093061bb9a9873e4da0
Signed-off-by: Paweł Szewczyk <p.szewczyk@samsung.com>
src/usbhost/usb-host.c

index cf19fc0..074bab0 100755 (executable)
@@ -991,13 +991,13 @@ static int get_policy_value(struct usbhost_open_request *req)
                        continue;
 
                if (is_policy_temporary(entry) ? strncmp(entry->devpath, req->devpath, PATH_MAX) :
-                       entry->device.bcdUSB != le16toh(req->desc.bcdUSB)
-                       || entry->device.bDeviceClass != req->desc.bDeviceClass
-                       || entry->device.bDeviceSubClass != req->desc.bDeviceSubClass
-                       || entry->device.bDeviceProtocol != req->desc.bDeviceProtocol
-                       || entry->device.idVendor != le16toh(req->desc.idVendor)
-                       || entry->device.idProduct != le16toh(req->desc.idProduct)
-                       || entry->device.bcdDevice != le16toh(req->desc.bcdDevice))
+                       (entry->device.bcdUSB && entry->device.bcdUSB != le16toh(req->desc.bcdUSB))
+                       || (entry->device.bDeviceClass && entry->device.bDeviceClass != req->desc.bDeviceClass)
+                       || (entry->device.bDeviceSubClass && entry->device.bDeviceSubClass != req->desc.bDeviceSubClass)
+                       || (entry->device.bDeviceProtocol && entry->device.bDeviceProtocol != req->desc.bDeviceProtocol)
+                       || (entry->device.idVendor && entry->device.idVendor != le16toh(req->desc.idVendor))
+                       || (entry->device.idProduct && entry->device.idProduct != le16toh(req->desc.idProduct))
+                       || (entry->device.bcdDevice && entry->device.bcdDevice != le16toh(req->desc.bcdDevice)))
                        continue;
 
                _I("Found matching policy entry: %s", policy_value_str(entry->value));