parent
2ac26b0e6d
commit
d75d372da0
3 changed files with 14 additions and 2 deletions
|
|
@ -83,6 +83,8 @@ Detailed list of changes
|
|||
|
||||
- Remote control: Fix a regression causing an escape code to leak when using @ launch with ``--no-response`` over the TTY (:iss:`7752`)
|
||||
|
||||
- OSC 52: Fix a regression in the previous release that broke handling of invalid base64 encoded data in OSC 52 requests (:iss:`7757`)
|
||||
|
||||
0.36.0 [2024-08-17]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
|
|||
|
|
@ -289,7 +289,12 @@ def flush_base64_data(self) -> None:
|
|||
|
||||
def write_base64_data(self, b: bytes) -> None:
|
||||
if not self.max_size_exceeded:
|
||||
decoded = self.decoder.decode(b)
|
||||
try:
|
||||
decoded = self.decoder.decode(b)
|
||||
except ValueError:
|
||||
log_error('Clipboard write request has invalid data, ignoring this chunk of data')
|
||||
self.decoder.reset()
|
||||
decoded = b''
|
||||
if decoded:
|
||||
self.tempfile.write(decoded)
|
||||
if self.max_size > 0 and self.tempfile.tell() > (self.max_size * 1024 * 1024):
|
||||
|
|
|
|||
|
|
@ -189,7 +189,12 @@ def add_unencoded_data(self, data: Union[str, bytes]) -> None:
|
|||
def add_base64_data(self, data: Union[str, bytes]) -> None:
|
||||
if isinstance(data, str):
|
||||
data = data.encode('ascii')
|
||||
self.data_store(self.decoder.decode(data))
|
||||
try:
|
||||
decoded = self.decoder.decode(data)
|
||||
except ValueError:
|
||||
log_error('Ignoring invalid base64 encoded data in notification request')
|
||||
else:
|
||||
self.data_store(decoded)
|
||||
|
||||
def flush_encoded_data(self) -> None:
|
||||
self.decoder.reset()
|
||||
|
|
|
|||
Loading…
Reference in a new issue