mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-11 11:10:49 +00:00
Compare commits
6
Commits
php-7.0.26
...
php-7.0.11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2874f7bf9 | ||
|
|
8978bd2ebe | ||
|
|
8773a2e820 | ||
|
|
18b6f6ee01 | ||
|
|
66c42fcf49 | ||
|
|
9ae680b065 |
No files matched your search
@@ -41,6 +41,10 @@ PHP NEWS
|
||||
- Intl:
|
||||
. Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF
|
||||
sequence). (cmb)
|
||||
. Fixed bug #73007 (add locale length check). (Stas)
|
||||
|
||||
- Mysqlnd:
|
||||
. Fixed bug #72293 (Heap overflow in mysqlnd related to BIT fields). (Stas)
|
||||
|
||||
- OCI8
|
||||
. Fixed invalid handle error with Implicit Result Sets. (Chris Jones)
|
||||
@@ -65,6 +69,12 @@ PHP NEWS
|
||||
specifying a sequence). (Pablo Santiago Sánchez, Matteo)
|
||||
. Fixed bug #72759 (Regression in pgo_pgsql). (Anatol)
|
||||
|
||||
- Phar:
|
||||
. Fixed bug #72928 (Out of bound when verify signature of zip phar in
|
||||
phar_parse_zipfile). (Stas)
|
||||
. Fixed bug #73035 (Out of bound when verify signature of tar phar in
|
||||
phar_parse_tarfile). (Stas)
|
||||
|
||||
- Reflection:
|
||||
. Fixed bug #72846 (getConstant for a array constant with constant values
|
||||
returns NULL/NFC/UKNOWN). (Laruence)
|
||||
@@ -79,6 +89,9 @@ PHP NEWS
|
||||
. Fixed bug #72957 (Null coalescing operator doesn't behave as expected with
|
||||
SimpleXMLElement). (Nikita)
|
||||
|
||||
- SPL:
|
||||
. Fixed bug #73029 (Missing type check when unserializing SplArray). (Stas)
|
||||
|
||||
- Standard:
|
||||
. Fixed bug #55451 (substr_compare NULL length interpreted as 0). (Lauri
|
||||
Kenttä)
|
||||
@@ -93,6 +106,9 @@ PHP NEWS
|
||||
. Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
|
||||
(cmb)
|
||||
|
||||
- SQLite3:
|
||||
. Downgraded bundled SQLite to 3.8.10.2. (Anatol);
|
||||
|
||||
- Sysvshm:
|
||||
. Fixed bug #72858 (shm_attach null dereference). (Anatol)
|
||||
|
||||
@@ -100,6 +116,10 @@ PHP NEWS
|
||||
. Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb)
|
||||
. Fixed bug #72714 (_xml_startElementHandler() segmentation fault). (cmb)
|
||||
|
||||
- Wddx:
|
||||
. Fixed bug #72860 (wddx_deserialize use-after-free). (Stas)
|
||||
. Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element). (Stas)
|
||||
|
||||
- ZIP:
|
||||
. Fixed bug #68302 (impossible to compile php with zip support). (cmb)
|
||||
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
|
||||
PHP_MAJOR_VERSION=7
|
||||
PHP_MINOR_VERSION=0
|
||||
PHP_RELEASE_VERSION=11
|
||||
PHP_EXTRA_VERSION="RC1"
|
||||
PHP_EXTRA_VERSION=""
|
||||
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
|
||||
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
|
||||
|
||||
|
||||
+1
-1
@@ -2977,7 +2977,7 @@ PHP_FUNCTION(imap_utf7_encode)
|
||||
}
|
||||
|
||||
/* allocate output buffer */
|
||||
out = zend_string_alloc(outlen, 0);
|
||||
out = zend_string_safe_alloc(1, outlen, 0, 0);
|
||||
|
||||
/* encode input string */
|
||||
outp = (unsigned char*)ZSTR_VAL(out);
|
||||
|
||||
+12668
-53644
File diff suppressed because it is too large.
Load diff
+78
-2435
File diff suppressed because it is too large.
Load diff
@@ -267,20 +267,6 @@ struct sqlite3_api_routines {
|
||||
void (*result_text64)(sqlite3_context*,const char*,sqlite3_uint64,
|
||||
void(*)(void*), unsigned char);
|
||||
int (*strglob)(const char*,const char*);
|
||||
/* Version 3.8.11 and later */
|
||||
sqlite3_value *(*value_dup)(const sqlite3_value*);
|
||||
void (*value_free)(sqlite3_value*);
|
||||
int (*result_zeroblob64)(sqlite3_context*,sqlite3_uint64);
|
||||
int (*bind_zeroblob64)(sqlite3_stmt*, int, sqlite3_uint64);
|
||||
/* Version 3.9.0 and later */
|
||||
unsigned int (*value_subtype)(sqlite3_value*);
|
||||
void (*result_subtype)(sqlite3_context*,unsigned int);
|
||||
/* Version 3.10.0 and later */
|
||||
int (*status64)(int,sqlite3_int64*,sqlite3_int64*,int);
|
||||
int (*strlike)(const char*,const char*,unsigned int);
|
||||
int (*db_cacheflush)(sqlite3*);
|
||||
/* Version 3.12.0 and later */
|
||||
int (*system_errno)(sqlite3*);
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -294,7 +280,7 @@ struct sqlite3_api_routines {
|
||||
** the API. So the redefinition macros are only valid if the
|
||||
** SQLITE_CORE macros is undefined.
|
||||
*/
|
||||
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
||||
#ifndef SQLITE_CORE
|
||||
#define sqlite3_aggregate_context sqlite3_api->aggregate_context
|
||||
#ifndef SQLITE_OMIT_DEPRECATED
|
||||
#define sqlite3_aggregate_count sqlite3_api->aggregate_count
|
||||
@@ -421,7 +407,6 @@ struct sqlite3_api_routines {
|
||||
#define sqlite3_value_text16le sqlite3_api->value_text16le
|
||||
#define sqlite3_value_type sqlite3_api->value_type
|
||||
#define sqlite3_vmprintf sqlite3_api->vmprintf
|
||||
#define sqlite3_vsnprintf sqlite3_api->vsnprintf
|
||||
#define sqlite3_overload_function sqlite3_api->overload_function
|
||||
#define sqlite3_prepare_v2 sqlite3_api->prepare_v2
|
||||
#define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2
|
||||
@@ -512,23 +497,9 @@ struct sqlite3_api_routines {
|
||||
#define sqlite3_result_blob64 sqlite3_api->result_blob64
|
||||
#define sqlite3_result_text64 sqlite3_api->result_text64
|
||||
#define sqlite3_strglob sqlite3_api->strglob
|
||||
/* Version 3.8.11 and later */
|
||||
#define sqlite3_value_dup sqlite3_api->value_dup
|
||||
#define sqlite3_value_free sqlite3_api->value_free
|
||||
#define sqlite3_result_zeroblob64 sqlite3_api->result_zeroblob64
|
||||
#define sqlite3_bind_zeroblob64 sqlite3_api->bind_zeroblob64
|
||||
/* Version 3.9.0 and later */
|
||||
#define sqlite3_value_subtype sqlite3_api->value_subtype
|
||||
#define sqlite3_result_subtype sqlite3_api->result_subtype
|
||||
/* Version 3.10.0 and later */
|
||||
#define sqlite3_status64 sqlite3_api->status64
|
||||
#define sqlite3_strlike sqlite3_api->strlike
|
||||
#define sqlite3_db_cacheflush sqlite3_api->db_cacheflush
|
||||
/* Version 3.12.0 and later */
|
||||
#define sqlite3_system_errno sqlite3_api->system_errno
|
||||
#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
|
||||
#endif /* SQLITE_CORE */
|
||||
|
||||
#if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
|
||||
#ifndef SQLITE_CORE
|
||||
/* This case when the file really is being compiled as a loadable
|
||||
** extension */
|
||||
# define SQLITE_EXTENSION_INIT1 const sqlite3_api_routines *sqlite3_api=0;
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
--TEST--
|
||||
Bug #73068 SQLite3 may fail to DELETE
|
||||
--SKIPIF--
|
||||
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$db = new \SQLite3(':memory:') ;
|
||||
|
||||
$db->exec("CREATE TABLE IF NOT EXISTS t1(a INT UNIQUE, b INT)");
|
||||
$db->exec("INSERT OR REPLACE INTO t1(a,b) VALUES('1','2')");
|
||||
|
||||
$r = $db->query("SELECT * FROM t1 WHERE a='1' AND b='2'");
|
||||
var_dump($r->fetchArray());
|
||||
|
||||
$db->exec("DELETE FROM t1 WHERE a='1' AND b='2'");
|
||||
|
||||
$r = $db->query("SELECT * FROM t1;");
|
||||
var_dump($r->fetchArray());
|
||||
|
||||
$db->close();
|
||||
|
||||
?>
|
||||
==OK==
|
||||
--EXPECT--
|
||||
array(4) {
|
||||
[0]=>
|
||||
int(1)
|
||||
["a"]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(2)
|
||||
["b"]=>
|
||||
int(2)
|
||||
}
|
||||
bool(false)
|
||||
==OK==
|
||||
@@ -2544,7 +2544,7 @@ PHP_FUNCTION(substr_replace)
|
||||
repl_str = Z_STR_P(repl);
|
||||
}
|
||||
|
||||
result = zend_string_alloc(Z_STRLEN_P(str) - l + ZSTR_LEN(repl_str), 0);
|
||||
result = zend_string_safe_alloc(1, Z_STRLEN_P(str) - l + ZSTR_LEN(repl_str), 0, 0);
|
||||
|
||||
memcpy(ZSTR_VAL(result), Z_STRVAL_P(str), f);
|
||||
if (ZSTR_LEN(repl_str)) {
|
||||
@@ -2653,14 +2653,14 @@ PHP_FUNCTION(substr_replace)
|
||||
|
||||
result_len += ZSTR_LEN(repl_str);
|
||||
repl_idx++;
|
||||
result = zend_string_alloc(result_len, 0);
|
||||
result = zend_string_safe_alloc(1, result_len, 0, 0);
|
||||
|
||||
memcpy(ZSTR_VAL(result), ZSTR_VAL(orig_str), f);
|
||||
memcpy((ZSTR_VAL(result) + f), ZSTR_VAL(repl_str), ZSTR_LEN(repl_str));
|
||||
memcpy((ZSTR_VAL(result) + f + ZSTR_LEN(repl_str)), ZSTR_VAL(orig_str) + f + l, ZSTR_LEN(orig_str) - f - l);
|
||||
zend_string_release(repl_str);
|
||||
} else {
|
||||
result = zend_string_alloc(result_len, 0);
|
||||
result = zend_string_safe_alloc(1, result_len, 0, 0);
|
||||
|
||||
memcpy(ZSTR_VAL(result), ZSTR_VAL(orig_str), f);
|
||||
memcpy((ZSTR_VAL(result) + f), ZSTR_VAL(orig_str) + f + l, ZSTR_LEN(orig_str) - f - l);
|
||||
@@ -2668,7 +2668,7 @@ PHP_FUNCTION(substr_replace)
|
||||
} else {
|
||||
result_len += Z_STRLEN_P(repl);
|
||||
|
||||
result = zend_string_alloc(result_len, 0);
|
||||
result = zend_string_safe_alloc(1, result_len, 0, 0);
|
||||
|
||||
memcpy(ZSTR_VAL(result), ZSTR_VAL(orig_str), f);
|
||||
memcpy((ZSTR_VAL(result) + f), Z_STRVAL_P(repl), Z_STRLEN_P(repl));
|
||||
|
||||
+2
-2
@@ -3,6 +3,6 @@
|
||||
#define PHP_MAJOR_VERSION 7
|
||||
#define PHP_MINOR_VERSION 0
|
||||
#define PHP_RELEASE_VERSION 11
|
||||
#define PHP_EXTRA_VERSION "RC1"
|
||||
#define PHP_VERSION "7.0.11RC1"
|
||||
#define PHP_EXTRA_VERSION ""
|
||||
#define PHP_VERSION "7.0.11"
|
||||
#define PHP_VERSION_ID 70011
|
||||
Reference in new issue
Block a user