PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 2013, PHP 5.3.24
+?? ??? 2013, PHP 5.4.14
- PCRE:
- . Merged PCRE 8.32). (Anatol)
+ . Merged PCRE 8.32. (Anatol)
+
+?? ??? 2013, PHP 5.4.13
+
+- Core:
+ . Fixed bug #64354 (Unserialize array of objects whose class can't
+ be autoloaded fail). (Laruence)
+ . Fixed bug #64235 (Insteadof not work for class method in 5.4.11).
+ (Laruence)
+ . Fixed bug #64197 (_Offsetof() macro used but not defined on ARM/Clang).
+ (Ard Biesheuvel)
+ . Implemented FR #64175 (Added HTTP codes as of RFC 6585). (Jonh Wendell)
+ . Fixed bug #64142 (dval to lval different behavior on ppc64). (Remi)
+ . Fixed bug #64070 (Inheritance with Traits failed with error). (Dmitry)
+
+- CLI server:
+ . Fixed bug #64128 (buit-in web server is broken on ppc64). (Remi)
+
+- Mbstring:
+ . mb_split() can now handle empty matches like preg_split() does. (Moriyoshi)
+ - mysqlnd
+ . Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc
+ for stmt->param_bind). (Andrey)
+
+- OpenSSL:
+ . New SSL stream context option to prevent CRIME attack vector. (Daniel Lowrey,
+ Lars)
+ . Fixed bug #61930 (openssl corrupts ssl key resource when using
+ openssl_get_publickey()). (Stas)
-28 Feb 2013, PHP 5.3.23RC1
+- PDO_mysql:
+ . Fixed bug #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs).
+ (Johannes)
+
+- Phar:
+ . Fixed timestamp update on Phar contents modification. (Dmitry)
+
+- SOAP
+ . Added check that soap.wsdl_cache_dir conforms to open_basedir
+ (CVE-2013-1635). (Dmitry)
+ . Disabled external entities loading (CVE-2013-1643). (Dmitry)
- Phar:
. Fixed timestamp update on Phar contents modification. (Dmitry)
pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
pdo_mysql_db_handle *H = S->H;
long row_count;
-- int ret;
PDO_DBG_ENTER("pdo_mysql_stmt_next_rowset");
PDO_DBG_INF_FMT("stmt=%p", S->stmt);
S->result = NULL;
}
-- ret = mysql_next_result(H->server);
++ if (!mysql_more_results(H->server)) {
++ /* No more results */
++ PDO_DBG_RETURN(0);
++ }
#if PDO_USE_MYSQLND
-- /* for whatever reason mysqlnd breaks with libmysql compatibility at the C level, no -1 */
-- if (PASS != ret) {
++ if (mysql_next_result(H->server) == FAIL) {
pdo_mysql_error_stmt(stmt);
PDO_DBG_RETURN(0);
-- }
-- if (mysql_more_results(H->server)) {
-- PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC));
} else {
-- /* No more results */
-- PDO_DBG_RETURN(0);
++ PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC));
}
#else
-- if (ret > 0) {
++ if (mysql_next_result(H->server) > 0) {
pdo_mysql_error_stmt(stmt);
PDO_DBG_RETURN(0);
-- } else if (ret < 0) {
-- /* No more results */
-- PDO_DBG_RETURN(0);
} else {
PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC));
}