From 45091c158d956ebb6c23acfe4dcb1f147df55d4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damir=20Jeli=C4=87?= Date: Wed, 23 Jan 2019 17:49:42 +0100 Subject: python: Turn the signature buffer into a bytearray. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a workaround for a bug where signature verification would overwrite the variable holding the signature. This only happens on python2. Signed-off-by: Damir Jelić --- python/olm/utility.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'python/olm/utility.py') diff --git a/python/olm/utility.py b/python/olm/utility.py index 0a64128..121ff63 100644 --- a/python/olm/utility.py +++ b/python/olm/utility.py @@ -81,14 +81,15 @@ class _Utility(object): byte_key = to_bytes(key) byte_message = to_bytearray(message) - byte_signature = to_bytes(signature) + byte_signature = to_bytearray(signature) try: cls._check_error( lib.olm_ed25519_verify(cls._utility, byte_key, len(byte_key), ffi.from_buffer(byte_message), len(byte_message), - byte_signature, len(byte_signature))) + ffi.from_buffer(byte_signature), + len(byte_signature))) finally: # clear out copies of the message, which may be a plaintext if byte_message is not message: -- cgit v1.2.3