diff options
author | shangxu <shangxu@domob.cn> | 2020-11-13 18:03:01 +0800 |
---|---|---|
committer | Jens Geyer <Jens-G@users.noreply.github.com> | 2022-04-21 09:13:52 +0200 |
commit | b664cfe2533e4bbf00fd5e7e0211bf7161ee2a04 (patch) | |
tree | 34d4ee28eca26e9259ef2ab5d17ebb264e54ee26 /lib/py | |
parent | 0dc52985ca06cb948eae251dce789f7f863fc243 (diff) | |
download | thrift-b664cfe2533e4bbf00fd5e7e0211bf7161ee2a04.tar.gz |
fix Out Of Memory when use TNonblockingServer
Diffstat (limited to 'lib/py')
-rw-r--r-- | lib/py/src/server/TNonblockingServer.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py index f62d486eb..ac0649651 100644 --- a/lib/py/src/server/TNonblockingServer.py +++ b/lib/py/src/server/TNonblockingServer.py @@ -151,6 +151,10 @@ class Connection(object): while len(self._rbuf) >= self._reading.end: if self._reading.is_header: mlen, = struct.unpack('!i', self._rbuf[:4]) + if mlen < 0: + logger.error('could not read the head from frame') + self.close() + break self._reading = Message(self._reading.end, mlen, False) self.status = WAIT_MESSAGE else: |