From caf79da17703edbbab09ab27a7e52ed3e39bebf6 Mon Sep 17 00:00:00 2001 From: super_rocky Date: Fri, 4 Aug 2023 00:19:02 +0800 Subject: [PATCH] Added the control of unknown exception handling times. If not controlled, I think it is very dangerous and may fall into an infinite loop --- telethon/network/mtprotosender.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/telethon/network/mtprotosender.py b/telethon/network/mtprotosender.py index 86e2f9fa..a89589a6 100644 --- a/telethon/network/mtprotosender.py +++ b/telethon/network/mtprotosender.py @@ -51,6 +51,7 @@ class MTProtoSender: self._loggers = loggers self._log = loggers[__name__] self._retries = retries + self._retry_unknown_error = retries self._delay = delay self._auto_reconnect = auto_reconnect self._connect_timeout = connect_timeout @@ -519,6 +520,9 @@ class MTProtoSender: return except Exception as e: self._log.exception('Unhandled error while receiving data') + self._retry_unknown_error = self._retry_unknown_error - 1 + if self._retry_unknown_error < 0: + raise self._start_reconnect(e) return