From d232f25a689d36d7deaf202cd2fa5d28e45fc468 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Wed, 13 Aug 2014 02:37:00 +0100 Subject: [PATCH] Convert pool arguments to int Failing to do so may cause dangerous misbehaviours such as an unbounded pool (because of lame comparison operators in Python 2). Fix ticket #220. --- NEWS | 2 ++ lib/pool.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 963170cc..e471e528 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ What's new in psycopg 2.5.4 - Added :sql:`jsonb` support for PostgreSQL 9.4. - Fixed segfault if COPY statements are executed instead of using the proper methods (:ticket:`#219`). +- Force conversion of pool arguments to integer to avoid potentially unbounded + pools (:ticket:`#220`). - Don't ignore silently the `cursor.callproc` argument without a length. - Added a few errors missing from `~psycopg2.errorcodes`, defined by PostgreSQL but not documented. diff --git a/lib/pool.py b/lib/pool.py index 3b41c803..7cdd6af2 100644 --- a/lib/pool.py +++ b/lib/pool.py @@ -42,8 +42,8 @@ class AbstractConnectionPool(object): with given parameters. The connection pool will support a maximum of about 'maxconn' connections. """ - self.minconn = minconn - self.maxconn = maxconn + self.minconn = int(minconn) + self.maxconn = int(maxconn) self.closed = False self._args = args