[PATCH] fix Out Of Memory when use TNonblockingServer
authorshangxu <shangxu@domob.cn>
Fri, 13 Nov 2020 10:03:01 +0000 (18:03 +0800)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sun, 28 Aug 2022 10:41:21 +0000 (11:41 +0100)
Gbp-Pq: Name fix_out_of_memory.patch

lib/py/src/server/TNonblockingServer.py

index f62d486ebc8b50bf4c79a0c21926eb5ee52edf07..ac064965110d42be0c1e54be612338f39011cda2 100644 (file)
@@ -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: