summaryrefslogtreecommitdiff
path: root/redis
diff options
context:
space:
mode:
authorKristján Valur Jónsson <sweskman@gmail.com>2022-09-29 11:03:54 +0000
committerGitHub <noreply@github.com>2022-09-29 14:03:54 +0300
commit9fe836698ca5930e39633b86839b6c1bae07237e (patch)
treee1915d05f852ff45125fb89933bc369001b48744 /redis
parentfbf68dd217b4bf7d91a0e07ca73c8a39dfbc1066 (diff)
downloadredis-py-9fe836698ca5930e39633b86839b6c1bae07237e.tar.gz
Catch `Exception` and not `BaseException` in the `Connection` (#2104)
* Add failing unittests for passing BaseException through * Resolve failing unittest * Remove redundant checks for asyncio.CancelledError
Diffstat (limited to 'redis')
-rw-r--r--redis/asyncio/connection.py8
-rwxr-xr-xredis/connection.py4
2 files changed, 5 insertions, 7 deletions
diff --git a/redis/asyncio/connection.py b/redis/asyncio/connection.py
index 16f33e2..a470b6f 100644
--- a/redis/asyncio/connection.py
+++ b/redis/asyncio/connection.py
@@ -502,8 +502,6 @@ class HiredisParser(BaseParser):
# data was read from the socket and added to the buffer.
# return True to indicate that data was read.
return True
- except asyncio.CancelledError:
- raise
except (socket.timeout, asyncio.TimeoutError):
if raise_on_timeout:
raise TimeoutError("Timeout reading from socket") from None
@@ -721,7 +719,7 @@ class Connection:
lambda: self._connect(), lambda error: self.disconnect()
)
except asyncio.CancelledError:
- raise
+ raise # in 3.7 and earlier, this is an Exception, not BaseException
except (socket.timeout, asyncio.TimeoutError):
raise TimeoutError("Timeout connecting to server")
except OSError as e:
@@ -916,7 +914,7 @@ class Connection:
raise ConnectionError(
f"Error {err_no} while writing to socket. {errmsg}."
) from e
- except BaseException:
+ except Exception:
await self.disconnect()
raise
@@ -958,7 +956,7 @@ class Connection:
raise ConnectionError(
f"Error while reading from {self.host}:{self.port} : {e.args}"
)
- except BaseException:
+ except Exception:
await self.disconnect()
raise
diff --git a/redis/connection.py b/redis/connection.py
index 491df8e..2e33e31 100755
--- a/redis/connection.py
+++ b/redis/connection.py
@@ -766,7 +766,7 @@ class Connection:
errno = e.args[0]
errmsg = e.args[1]
raise ConnectionError(f"Error {errno} while writing to socket. {errmsg}.")
- except BaseException:
+ except Exception:
self.disconnect()
raise
@@ -804,7 +804,7 @@ class Connection:
except OSError as e:
self.disconnect()
raise ConnectionError(f"Error while reading from {hosterr}" f" : {e.args}")
- except BaseException:
+ except Exception:
self.disconnect()
raise