aboutsummaryrefslogtreecommitdiff
path: root/avatar
diff options
context:
space:
mode:
authorHui Peng <phui@google.com>2023-03-25 02:54:46 +0000
committerHui Peng <phui@google.com>2023-03-25 04:26:13 +0000
commit581b0061ecd298dad3b1ae829babf03b207fc253 (patch)
tree873689a091ad70ddadff134ba426486253a22bf2 /avatar
parent0af5286e86b8d7e27241fdf30dbaaa8bcbf5e507 (diff)
downloadavatar-581b0061ecd298dad3b1ae829babf03b207fc253.tar.gz
Fix a bug in bumble_server
`self.service.event_queue` evaluates to False in if statement when it is empty. There is a misuse of `self.service.event_queue` in if statements to detect unexpected conditions. This change fixes the misuse by replacing them with `self.service.event_queue is [not] None`. Change-Id: I4da680af98243c2fac92a1bb34992beb8d018507
Diffstat (limited to 'avatar')
-rw-r--r--avatar/bumble_server/security.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/avatar/bumble_server/security.py b/avatar/bumble_server/security.py
index 4b8cf1b..dc38f15 100644
--- a/avatar/bumble_server/security.py
+++ b/avatar/bumble_server/security.py
@@ -85,7 +85,7 @@ class PairingDelegate(BasePairingDelegate):
async def confirm(self) -> bool:
self.log.info(f"Pairing event: `just_works` (io_capability: {self.io_capability})")
- if not self.service.event_queue or not self.service.event_answer:
+ if self.service.event_queue is None or self.service.event_answer is None:
return True
event = self.add_origin(PairingEvent(just_works=empty_pb2.Empty()))
@@ -98,7 +98,7 @@ class PairingDelegate(BasePairingDelegate):
async def compare_numbers(self, number: int, digits: int = 6) -> bool:
self.log.info(f"Pairing event: `numeric_comparison` (io_capability: {self.io_capability})")
- if not self.service.event_queue or not self.service.event_answer:
+ if self.service.event_queue is None or self.service.event_answer is None:
raise RuntimeError('security: unhandled number comparison request')
event = self.add_origin(PairingEvent(numeric_comparison=number))
@@ -111,7 +111,7 @@ class PairingDelegate(BasePairingDelegate):
async def get_number(self) -> int:
self.log.info(f"Pairing event: `passkey_entry_request` (io_capability: {self.io_capability})")
- if not self.service.event_queue or not self.service.event_answer:
+ if self.service.event_queue is None or self.service.event_answer is None:
raise RuntimeError('security: unhandled number request')
event = self.add_origin(PairingEvent(passkey_entry_request=empty_pb2.Empty()))
@@ -124,7 +124,7 @@ class PairingDelegate(BasePairingDelegate):
async def display_number(self, number: int, digits: int = 6) -> None:
self.log.info(f"Pairing event: `passkey_entry_notification` (io_capability: {self.io_capability})")
- if not self.service.event_queue:
+ if self.service.event_queue is None:
raise RuntimeError('security: unhandled number display request')
event = self.add_origin(PairingEvent(passkey_entry_notification=number))
@@ -181,7 +181,7 @@ class SecurityService(SecurityServicer):
) -> AsyncGenerator[PairingEvent, None]:
self.log.info('OnPairing')
- if self.event_queue:
+ if self.event_queue is not None:
raise RuntimeError('already streaming pairing events')
if len(self.device.connections):