Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78980: pgsqlGetNotify() overlooks dead connection
This commit is contained in:
Nikita Popov 2019-12-20 11:44:23 +01:00
commit f974f252dd
2 changed files with 20 additions and 2 deletions

10
NEWS
View file

@ -13,6 +13,10 @@ PHP NEWS
. Fixed bug #78999 (Cycle leak when using function result as temporary).
(Dmitry)
- Fileinfo:
. Fixed bug #74170 (locale information change after mime_content_type).
(Sergei Turchanov)
- OPcache:
. Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS). (Dmitry)
. Fixed bug #78950 (Preloading trait method with static variables). (Nikita)
@ -21,9 +25,15 @@ PHP NEWS
. Fixed bug #78986 (Opcache segfaults when inheriting ctor from immutable
into mutable class). (Nikita)
- Pcntl:
. Fixed bug #78402 (Converting null to string in error message is bad DX).
(SATŌ Kentarō)
- PDO_PgSQL:
. Fixed bug #78983 (pdo_pgsql config.w32 cannot find libpq-fe.h). (SATŌ
Kentarō)
. Fixed bug #78980 (pgsqlGetNotify() overlooks dead connection). (SATŌ
Kentarō)
- Spl:
. Fixed bug #78976 (SplFileObject::fputcsv returns -1 on failure). (cmb)

View file

@ -1068,13 +1068,21 @@ static PHP_METHOD(PDO, pgsqlGetNotify)
H = (pdo_pgsql_db_handle *)dbh->driver_data;
PQconsumeInput(H->server);
if (!PQconsumeInput(H->server)) {
pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL);
PDO_HANDLE_DBH_ERR();
RETURN_FALSE;
}
pgsql_notify = PQnotifies(H->server);
if (ms_timeout && !pgsql_notify) {
php_pollfd_for_ms(PQsocket(H->server), PHP_POLLREADABLE, (int)ms_timeout);
PQconsumeInput(H->server);
if (!PQconsumeInput(H->server)) {
pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL);
PDO_HANDLE_DBH_ERR();
RETURN_FALSE;
}
pgsql_notify = PQnotifies(H->server);
}