com php-src: fix possible int overflow: ext/pdo_pgsql/pgsql _driver.c
| From: | Anatol Belski | Date: | Wed, 15 Apr 2015 15:57:27 +0000 |
| Subject: | com php-src: fix possible int overflow: ext/pdo_pgsql/pgsql _driver.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-86284@lists.php.net to get a copy of this message | ||
Commit: b9732a37c5fb075caa009e4dcd9568bca9d2098f
Author: Anatol Belski <ab@php.net> Wed, 15 Apr 2015 16:11:35 +0200
Parents: 7a88cfe44d205197afe84c43b283e4f7d8c5dccc
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b9732a37c5fb075caa009e4dcd9568bca9d2098f
Log:
fix possible int overflow
Changed paths:
M ext/pdo_pgsql/pgsql_driver.c
Diff:
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c
index 8ea8ab2..1c760dc 100644
--- a/ext/pdo_pgsql/pgsql_driver.c
+++ b/ext/pdo_pgsql/pgsql_driver.c
@@ -1064,6 +1064,11 @@ static PHP_METHOD(PDO, pgsqlGetNotify)
if (ms_timeout < 0) {
php_error_docref(NULL, E_WARNING, "Invalid timeout");
RETURN_FALSE;
+#if ZEND_ENABLE_ZVAL_LONG64
+ } else if (ms_timeout > INT_MAX) {
+ php_error_docref(NULL, E_WARNING, "timeout was shrinked to %d", INT_MAX);
+ ms_timeout = INT_MAX;
+#endif
}
H = (pdo_pgsql_db_handle *)dbh->driver_data;
@@ -1072,7 +1077,7 @@ static PHP_METHOD(PDO, pgsqlGetNotify)
pgsql_notify = PQnotifies(H->server);
if (ms_timeout && !pgsql_notify) {
- php_pollfd_for_ms(PQsocket(H->server), PHP_POLLREADABLE, ms_timeout);
+ php_pollfd_for_ms(PQsocket(H->server), PHP_POLLREADABLE, (int)ms_timeout);
PQconsumeInput(H->server);
pgsql_notify = PQnotifies(H->server);