diff options
author | Hui Peng <phui@google.com> | 2023-03-25 02:54:46 +0000 |
---|---|---|
committer | Hui Peng <phui@google.com> | 2023-03-25 04:26:13 +0000 |
commit | 581b0061ecd298dad3b1ae829babf03b207fc253 (patch) | |
tree | 873689a091ad70ddadff134ba426486253a22bf2 /avatar | |
parent | 0af5286e86b8d7e27241fdf30dbaaa8bcbf5e507 (diff) | |
download | avatar-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.py | 10 |
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): |