Fix memory leak

This commit is contained in:
esdeathlove 2017-07-31 18:08:09 +08:00
parent d5026cf5ef
commit 6b43cbbf93
2 changed files with 23 additions and 8 deletions

View file

@ -107,8 +107,11 @@ class OpenSSLCryptoBase(object):
if not self._ctx: if not self._ctx:
raise Exception('can not create cipher context') raise Exception('can not create cipher context')
self.encrypt_once = self.update def encrypt_once(self, data):
self.decrypt_once = self.update return self.update(data)
def decrypt_once(self, data):
return self.update(data)
def update(self, data): def update(self, data):
""" """
@ -281,8 +284,12 @@ class OpenSSLStreamCrypto(OpenSSLCryptoBase):
if not r: if not r:
self.clean() self.clean()
raise Exception('can not initialize cipher context') raise Exception('can not initialize cipher context')
self.encrypt = self.update
self.decrypt = self.update def encrypt(self, data):
return self.update(data)
def decrypt(self, data):
return self.update(data)
ciphers = { ciphers = {

View file

@ -192,10 +192,18 @@ class SodiumCrypto(object):
raise Exception('Unknown cipher') raise Exception('Unknown cipher')
# byte counter, not block counter # byte counter, not block counter
self.counter = 0 self.counter = 0
self.encrypt = self.update
self.decrypt = self.update def encrypt(self, data):
self.encrypt_once = self.update return self.update(data)
self.decrypt_once = self.update
def decrypt(self, data):
return self.update(data)
def encrypt_once(self, data):
return self.update(data)
def decrypt_once(self, data):
return self.update(data)
def update(self, data): def update(self, data):
global buf_size, buf global buf_size, buf