瀏覽代碼

Fix DeviceInfo objects comparing

Do not crash if the other object is completely different type. Return
False ("unequal") instead.

This crashed preparing list of devices in qubes-vm-boot-from-device.

Fixes QubesOS/qubes-issues#3182
Marek Marczykowski-Górecki 6 年之前
父節點
當前提交
abc0d0063e
共有 1 個文件被更改,包括 7 次插入4 次删除
  1. 7 4
      qubesadmin/devices.py

+ 7 - 4
qubesadmin/devices.py

@@ -91,10 +91,13 @@ class DeviceInfo(object):
         return hash((str(self.backend_domain), self.ident))
 
     def __eq__(self, other):
-        return (
-            self.backend_domain == other.backend_domain and
-            self.ident == other.ident
-        )
+        try:
+            return (
+                self.backend_domain == other.backend_domain and
+                self.ident == other.ident
+            )
+        except AttributeError:
+            return False
 
     def __str__(self):
         return '{!s}:{!s}'.format(self.backend_domain, self.ident)