mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-12 03:30:50 +00:00
Compare commits
28
Commits
PHP-7.2.27
...
php-7.2.32
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dcccdf8170 | ||
|
|
9588c8474e | ||
|
|
4cf8be71df | ||
|
|
b4afd21428 | ||
|
|
3c8582ca4b | ||
|
|
1c9bd513ac | ||
|
|
bef96b9d2c | ||
|
|
cf083535f8 | ||
|
|
bd49622a9a | ||
|
|
13842eda37 | ||
|
|
6df761b7ff | ||
|
|
9d6bf8221b | ||
|
|
14fcc81394 | ||
|
|
3072b77c21 | ||
|
|
6a4fff4682 | ||
|
|
c8d21d7728 | ||
|
|
2c081b7e26 | ||
|
|
0d139c5b94 | ||
|
|
41f66e2a2c | ||
|
|
63f6608f89 | ||
|
|
5009b9811d | ||
|
|
2826364298 | ||
|
|
e5c95234d8 | ||
|
|
d76f7c6c63 | ||
|
|
8308196c97 | ||
|
|
cec8b24c84 | ||
|
|
2dc170e25d | ||
|
|
7e2bd95fa5 |
No files matched your search
@@ -1,6 +1,52 @@
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? ??? 2019, PHP 7.2.27
|
||||
09 Jul 2020, PHP 7.2.32
|
||||
|
||||
- Core:
|
||||
. No source changes to this release.
|
||||
Vesion number added for reproduction of Windows builds. (cmb)
|
||||
|
||||
14 May 2020, PHP 7.2.31
|
||||
|
||||
- Core:
|
||||
. Fixed bug #78875 (Long filenames cause OOM and temp files are not cleaned).
|
||||
(CVE-2019-11048) (cmb)
|
||||
. Fixed bug #78876 (Long variables in multipart/form-data cause OOM and temp
|
||||
files are not cleaned). (CVE-2019-11048) (cmb)
|
||||
|
||||
16 Apr 2020, PHP 7.2.30
|
||||
|
||||
- Standard:
|
||||
. Fixed bug #79468 (SIGSEGV when closing stream handle with a stream filter
|
||||
appended). (dinosaur)
|
||||
. Fixed bug #79330 (shell_exec() silently truncates after a null byte). (stas)
|
||||
. Fixed bug #79465 (OOB Read in urldecode()). (stas)
|
||||
|
||||
19 Mar 2020, PHP 7.2.29
|
||||
|
||||
- EXIF:
|
||||
. Fixed bug #79282 (Use-of-uninitialized-value in exif). (CVE-2020-7064)
|
||||
(Nikita)
|
||||
|
||||
- Standard:
|
||||
. Fixed bug #79329 (get_headers() silently truncates after a null byte)
|
||||
(CVE-2020-7066). (cmb)
|
||||
|
||||
20 Feb 2020, PHP 7.2.28
|
||||
|
||||
- DOM:
|
||||
. Fixed bug #77569: (Write Access Violation in DomImplementation). (Nikita,
|
||||
cmb)
|
||||
|
||||
- Phar:
|
||||
. Fixed bug #79082 (Files added to tar with Phar::buildFromIterator have
|
||||
all-access permissions). (CVE-2020-7063) (stas)
|
||||
|
||||
- Session:
|
||||
. Fixed bug #79221 (Null Pointer Dereference in PHP Session Upload Progress).
|
||||
(CVE-2020-7062) (stas)
|
||||
|
||||
23 Jan 2020, PHP 7.2.27
|
||||
|
||||
- Mbstring:
|
||||
. Fixed bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`).
|
||||
|
||||
+2
-2
@@ -107,8 +107,8 @@ int zend_sprintf(char *buffer, const char *format, ...);
|
||||
|
||||
PHP_MAJOR_VERSION=7
|
||||
PHP_MINOR_VERSION=2
|
||||
PHP_RELEASE_VERSION=27
|
||||
PHP_EXTRA_VERSION="-dev"
|
||||
PHP_RELEASE_VERSION=32
|
||||
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
@@ -341,7 +341,7 @@ int dom_document_encoding_write(dom_object *obj, zval *newval)
|
||||
|
||||
str = zval_get_string(newval);
|
||||
|
||||
handler = xmlFindCharEncodingHandler(Z_STRVAL_P(newval));
|
||||
handler = xmlFindCharEncodingHandler(ZSTR_VAL(str));
|
||||
|
||||
if (handler != NULL) {
|
||||
xmlCharEncCloseFunc(handler);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
--TEST--
|
||||
Bug #77569 (Write Access Violation in DomImplementation)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('dom')) die('skip dom extension not available');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$imp = new DOMImplementation;
|
||||
$dom = $imp->createDocument("", "");
|
||||
$dom->encoding = null;
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: main(): Invalid Document Encoding in %s on line %d
|
||||
+6
-1
@@ -3692,6 +3692,11 @@ static void exif_process_TIFF_in_JPEG(image_info_type *ImageInfo, char *CharBuf,
|
||||
{
|
||||
unsigned exif_value_2a, offset_of_ifd;
|
||||
|
||||
if (length < 2) {
|
||||
exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Missing TIFF alignment marker");
|
||||
return;
|
||||
}
|
||||
|
||||
/* set the thumbnail stuff to nothing so we can test to see if they get set up */
|
||||
if (memcmp(CharBuf, "II", 2) == 0) {
|
||||
ImageInfo->motorola_intel = 0;
|
||||
@@ -3844,7 +3849,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
sn = exif_file_sections_add(ImageInfo, marker, itemlen+1, NULL);
|
||||
sn = exif_file_sections_add(ImageInfo, marker, itemlen, NULL);
|
||||
Data = ImageInfo->file.list[sn].data;
|
||||
|
||||
/* Store first two pre-read bytes. */
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
--TEST--
|
||||
Bug #79282: Use-of-uninitialized-value in exif
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
var_dump(exif_read_data('data://image/jpeg;base64,/9jhAAlFeGlmAAAg'));
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: exif_read_data(): Missing TIFF alignment marker in %s on line %d
|
||||
|
||||
Warning: exif_read_data(): File structure corrupted in %s on line %d
|
||||
|
||||
Warning: exif_read_data(): Invalid JPEG file in %s on line %d
|
||||
bool(false)
|
||||
@@ -1439,6 +1439,7 @@ static int phar_build(zend_object_iterator *iter, void *puser) /* {{{ */
|
||||
char *str_key;
|
||||
zend_class_entry *ce = p_obj->c;
|
||||
phar_archive_object *phar_obj = p_obj->p;
|
||||
php_stream_statbuf ssb;
|
||||
|
||||
value = iter->funcs->get_current_data(iter);
|
||||
|
||||
@@ -1718,6 +1719,16 @@ after_open_fp:
|
||||
php_stream_copy_to_stream_ex(fp, p_obj->fp, PHP_STREAM_COPY_ALL, &contents_len);
|
||||
data->internal_file->uncompressed_filesize = data->internal_file->compressed_filesize =
|
||||
php_stream_tell(p_obj->fp) - data->internal_file->offset;
|
||||
if (php_stream_stat(fp, &ssb) != -1) {
|
||||
data->internal_file->flags = ssb.sb.st_mode & PHAR_ENT_PERM_MASK ;
|
||||
} else {
|
||||
#ifndef _WIN32
|
||||
mode_t mask;
|
||||
mask = umask(0);
|
||||
umask(mask);
|
||||
data->internal_file->flags &= ~mask;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
if (close_fp) {
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
--TEST--
|
||||
Phar: Bug #79082: Files added to tar with Phar::buildFromIterator have all-access permissions
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded("phar")) die("skip");
|
||||
if (defined("PHP_WINDOWS_VERSION_MAJOR")) die("skip not for Windows")
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
umask(022);
|
||||
var_dump(decoct(umask()));
|
||||
chmod(__DIR__ . '/test79082/test79082-testfile', 0644);
|
||||
chmod(__DIR__ . '/test79082/test79082-testfile2', 0400);
|
||||
|
||||
foreach([Phar::TAR => 'tar', Phar::ZIP => 'zip'] as $mode => $ext) {
|
||||
clearstatcache();
|
||||
$phar = new PharData(__DIR__ . '/test79082.' . $ext, null, null, $mode);
|
||||
$phar->buildFromIterator(new \RecursiveDirectoryIterator(__DIR__ . '/test79082', \FilesystemIterator::SKIP_DOTS), __DIR__ . '/test79082');
|
||||
$phar->extractTo(__DIR__);
|
||||
var_dump(decoct(stat(__DIR__ . '/test79082-testfile')['mode']));
|
||||
var_dump(decoct(stat(__DIR__ . '/test79082-testfile2')['mode']));
|
||||
unlink(__DIR__ . '/test79082-testfile');
|
||||
unlink(__DIR__ . '/test79082-testfile2');
|
||||
}
|
||||
foreach([Phar::TAR => 'tar', Phar::ZIP => 'zip'] as $mode => $ext) {
|
||||
clearstatcache();
|
||||
$phar = new PharData(__DIR__ . '/test79082-d.' . $ext, null, null, $mode);
|
||||
$phar->buildFromDirectory(__DIR__ . '/test79082');
|
||||
$phar->extractTo(__DIR__);
|
||||
var_dump(decoct(stat(__DIR__ . '/test79082-testfile')['mode']));
|
||||
var_dump(decoct(stat(__DIR__ . '/test79082-testfile2')['mode']));
|
||||
unlink(__DIR__ . '/test79082-testfile');
|
||||
unlink(__DIR__ . '/test79082-testfile2');
|
||||
}
|
||||
?>
|
||||
--CLEAN--
|
||||
<?
|
||||
unlink(__DIR__ . '/test79082.tar');
|
||||
unlink(__DIR__ . '/test79082.zip');
|
||||
unlink(__DIR__ . '/test79082-d.tar');
|
||||
unlink(__DIR__ . '/test79082-d.zip');
|
||||
?>
|
||||
--EXPECT--
|
||||
string(2) "22"
|
||||
string(6) "100644"
|
||||
string(6) "100400"
|
||||
string(6) "100644"
|
||||
string(6) "100400"
|
||||
string(6) "100644"
|
||||
string(6) "100400"
|
||||
string(6) "100644"
|
||||
string(6) "100400"
|
||||
@@ -0,0 +1 @@
|
||||
test
|
||||
@@ -0,0 +1 @@
|
||||
test
|
||||
@@ -3219,10 +3219,12 @@ static int php_session_rfc1867_callback(unsigned int event, void *event_data, vo
|
||||
if (PS(rfc1867_cleanup)) {
|
||||
php_session_rfc1867_cleanup(progress);
|
||||
} else {
|
||||
SEPARATE_ARRAY(&progress->data);
|
||||
add_assoc_bool_ex(&progress->data, "done", sizeof("done") - 1, 1);
|
||||
Z_LVAL_P(progress->post_bytes_processed) = data->post_bytes_processed;
|
||||
php_session_rfc1867_update(progress, 1);
|
||||
if (!Z_ISUNDEF(progress->data)) {
|
||||
SEPARATE_ARRAY(&progress->data);
|
||||
add_assoc_bool_ex(&progress->data, "done", sizeof("done") - 1, 1);
|
||||
Z_LVAL_P(progress->post_bytes_processed) = data->post_bytes_processed;
|
||||
php_session_rfc1867_update(progress, 1);
|
||||
}
|
||||
}
|
||||
php_rshutdown_session_globals();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
--TEST--
|
||||
Null Pointer Dereference in PHP Session Upload Progress
|
||||
--INI--
|
||||
error_reporting=0
|
||||
file_uploads=1
|
||||
upload_max_filesize=1024
|
||||
session.save_path=
|
||||
session.name=PHPSESSID
|
||||
session.serialize_handler=php
|
||||
session.use_strict_mode=0
|
||||
session.use_cookies=1
|
||||
session.use_only_cookies=0
|
||||
session.upload_progress.enabled=1
|
||||
session.upload_progress.cleanup=0
|
||||
session.upload_progress.prefix=upload_progress_
|
||||
session.upload_progress.name=PHP_SESSION_UPLOAD_PROGRESS
|
||||
session.upload_progress.freq=1%
|
||||
session.upload_progress.min_freq=0.000000001
|
||||
--COOKIE--
|
||||
PHPSESSID=session-upload
|
||||
--POST_RAW--
|
||||
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
|
||||
-----------------------------20896060251896012921717172737
|
||||
Content-Disposition: form-data; name="PHPSESSID"
|
||||
|
||||
session-upload
|
||||
-----------------------------20896060251896012921717172737
|
||||
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
|
||||
|
||||
ryat
|
||||
-----------------------------20896060251896012921717172737
|
||||
Content-Disposition: form-data; file="file"; ryat="filename"
|
||||
|
||||
1
|
||||
-----------------------------20896060251896012921717172737--
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
var_dump($_SESSION);
|
||||
session_destroy();
|
||||
|
||||
--EXPECTF--
|
||||
array(0) {
|
||||
}
|
||||
@@ -3,6 +3,7 @@ Bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('soap')) die('skip soap extension not available');
|
||||
if (getenv("SKIP_ONLINE_TESTS")) die("skip online test");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
/*
|
||||
DO NOT EDIT THIS FILE!
|
||||
|
||||
it has been automaticaly created by php7/scripts/credits from
|
||||
it has been automaticaly created by php7/scripts/credits from
|
||||
the information found in the various php7/ext/.../CREDITS and
|
||||
php7/sapi/.../CREDITS files
|
||||
|
||||
if you want to change an entry you have to edit the appropriate
|
||||
php7/sapi/.../CREDITS files
|
||||
|
||||
if you want to change an entry you have to edit the appropriate
|
||||
CREDITS file instead
|
||||
|
||||
*/
|
||||
@@ -28,7 +28,7 @@ CREDIT_LINE("FTP", "Stefan Esser, Andrew Skalski");
|
||||
CREDIT_LINE("GD imaging", "Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger");
|
||||
CREDIT_LINE("GetText", "Alex Plotnick");
|
||||
CREDIT_LINE("GNU GMP support", "Stanislav Malyshev");
|
||||
CREDIT_LINE("Iconv", "Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi ");
|
||||
CREDIT_LINE("Iconv", "Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi");
|
||||
CREDIT_LINE("IMAP", "Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky");
|
||||
CREDIT_LINE("Input Filter", "Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky");
|
||||
CREDIT_LINE("InterBase", "Jouni Ahto, Andrew Avdeev, Ard Biesheuvel");
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
/*
|
||||
DO NOT EDIT THIS FILE!
|
||||
|
||||
it has been automaticaly created by php7/scripts/credits from
|
||||
it has been automaticaly created by php7/scripts/credits from
|
||||
the information found in the various php7/ext/.../CREDITS and
|
||||
php7/sapi/.../CREDITS files
|
||||
|
||||
if you want to change an entry you have to edit the appropriate
|
||||
php7/sapi/.../CREDITS files
|
||||
|
||||
if you want to change an entry you have to edit the appropriate
|
||||
CREDITS file instead
|
||||
|
||||
*/
|
||||
|
||||
@@ -531,6 +531,15 @@ PHP_FUNCTION(shell_exec)
|
||||
Z_PARAM_STRING(command, command_len)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
if (!command_len) {
|
||||
php_error_docref(NULL, E_WARNING, "Cannot execute a blank command");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
if (strlen(command) != command_len) {
|
||||
php_error_docref(NULL, E_WARNING, "NULL byte detected. Possible attack");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
if ((in=VCWD_POPEN(command, "rt"))==NULL) {
|
||||
#else
|
||||
|
||||
@@ -4816,7 +4816,7 @@ PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, uint8_t *stateptr, const
|
||||
switch (state) {
|
||||
case 1: /* HTML/XML */
|
||||
lc = '>';
|
||||
if (is_xml && *(p -1) == '-') {
|
||||
if (is_xml && p >= buf + 1 && *(p-1) == '-') {
|
||||
break;
|
||||
}
|
||||
in_q = state = is_xml = 0;
|
||||
@@ -4837,7 +4837,7 @@ PHPAPI size_t php_strip_tags_ex(char *rbuf, size_t len, uint8_t *stateptr, const
|
||||
break;
|
||||
|
||||
case 2: /* PHP */
|
||||
if (!br && lc != '\"' && *(p-1) == '?') {
|
||||
if (!br && lc != '\"' && p >= buf + 1 && *(p-1) == '?') {
|
||||
in_q = state = 0;
|
||||
tp = tbuf;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Bug #79468 SIGSEGV when closing stream handle with a stream filter appended
|
||||
--SKIPIF--
|
||||
<?php
|
||||
$filters = stream_get_filters();
|
||||
if(! in_array( "string.rot13", $filters )) die( "skip rot13 filter not available." );
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$fp = fopen('php://temp', 'rb');
|
||||
$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
|
||||
fwrite($fp, "This is ");
|
||||
fclose($fp);
|
||||
try {
|
||||
stream_filter_remove($rot13_filter);
|
||||
} catch (\Throwable $e) {
|
||||
var_dump($e->getMessage());
|
||||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: stream_filter_remove(): Invalid resource given, not a stream filter in %s on line %d
|
||||
+3
-3
@@ -559,7 +559,7 @@ PHPAPI size_t php_url_decode(char *str, size_t len)
|
||||
#ifndef CHARSET_EBCDIC
|
||||
*dest = (char) php_htoi(data + 1);
|
||||
#else
|
||||
*dest = os_toebcdic[(char) php_htoi(data + 1)];
|
||||
*dest = os_toebcdic[(unsigned char) php_htoi(data + 1)];
|
||||
#endif
|
||||
data += 2;
|
||||
len -= 2;
|
||||
@@ -651,7 +651,7 @@ PHPAPI size_t php_raw_url_decode(char *str, size_t len)
|
||||
#ifndef CHARSET_EBCDIC
|
||||
*dest = (char) php_htoi(data + 1);
|
||||
#else
|
||||
*dest = os_toebcdic[(char) php_htoi(data + 1)];
|
||||
*dest = os_toebcdic[(unsigned char) php_htoi(data + 1)];
|
||||
#endif
|
||||
data += 2;
|
||||
len -= 2;
|
||||
@@ -680,7 +680,7 @@ PHP_FUNCTION(get_headers)
|
||||
php_stream_context *context;
|
||||
|
||||
ZEND_PARSE_PARAMETERS_START(1, 3)
|
||||
Z_PARAM_STRING(url, url_len)
|
||||
Z_PARAM_PATH(url, url_len)
|
||||
Z_PARAM_OPTIONAL
|
||||
Z_PARAM_LONG(format)
|
||||
Z_PARAM_RESOURCE_EX(zcontext, 1, 0)
|
||||
|
||||
+4
-4
@@ -2,7 +2,7 @@
|
||||
/* edit configure.ac to change version number */
|
||||
#define PHP_MAJOR_VERSION 7
|
||||
#define PHP_MINOR_VERSION 2
|
||||
#define PHP_RELEASE_VERSION 27
|
||||
#define PHP_EXTRA_VERSION "-dev"
|
||||
#define PHP_VERSION "7.2.27-dev"
|
||||
#define PHP_VERSION_ID 70227
|
||||
#define PHP_RELEASE_VERSION 32
|
||||
#define PHP_EXTRA_VERSION ""
|
||||
#define PHP_VERSION "7.2.32"
|
||||
#define PHP_VERSION_ID 70232
|
||||
+6
-5
@@ -616,7 +616,7 @@ static void *php_ap_memstr(char *haystack, int haystacklen, char *needle, int ne
|
||||
}
|
||||
|
||||
/* read until a boundary condition */
|
||||
static int multipart_buffer_read(multipart_buffer *self, char *buf, size_t bytes, int *end)
|
||||
static size_t multipart_buffer_read(multipart_buffer *self, char *buf, size_t bytes, int *end)
|
||||
{
|
||||
size_t len, max;
|
||||
char *bound;
|
||||
@@ -655,7 +655,7 @@ static int multipart_buffer_read(multipart_buffer *self, char *buf, size_t bytes
|
||||
self->buf_begin += len;
|
||||
}
|
||||
|
||||
return (int)len;
|
||||
return len;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -665,7 +665,7 @@ static int multipart_buffer_read(multipart_buffer *self, char *buf, size_t bytes
|
||||
static char *multipart_buffer_read_body(multipart_buffer *self, size_t *len)
|
||||
{
|
||||
char buf[FILLUNIT], *out=NULL;
|
||||
int total_bytes=0, read_bytes=0;
|
||||
size_t total_bytes=0, read_bytes=0;
|
||||
|
||||
while((read_bytes = multipart_buffer_read(self, buf, sizeof(buf), NULL))) {
|
||||
out = erealloc(out, total_bytes + read_bytes + 1);
|
||||
@@ -692,7 +692,8 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
|
||||
char *boundary, *s = NULL, *boundary_end = NULL, *start_arr = NULL, *array_index = NULL;
|
||||
char *lbuf = NULL, *abuf = NULL;
|
||||
zend_string *temp_filename = NULL;
|
||||
int boundary_len = 0, cancel_upload = 0, is_arr_upload = 0, array_len = 0;
|
||||
int boundary_len = 0, cancel_upload = 0, is_arr_upload = 0;
|
||||
size_t array_len = 0;
|
||||
int64_t total_bytes = 0, max_file_size = 0;
|
||||
int skip_upload = 0, anonindex = 0, is_anonymous;
|
||||
HashTable *uploaded_files = NULL;
|
||||
@@ -1126,7 +1127,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
|
||||
is_arr_upload = (start_arr = strchr(param,'[')) && (param[strlen(param)-1] == ']');
|
||||
|
||||
if (is_arr_upload) {
|
||||
array_len = (int)strlen(start_arr);
|
||||
array_len = strlen(start_arr);
|
||||
if (array_index) {
|
||||
efree(array_index);
|
||||
}
|
||||
|
||||
@@ -477,9 +477,15 @@ fprintf(stderr, "stream_free: %s:%p[%s] preserve_handle=%d release_cast=%d remov
|
||||
|
||||
if (close_options & PHP_STREAM_FREE_RELEASE_STREAM) {
|
||||
while (stream->readfilters.head) {
|
||||
if (stream->readfilters.head->res != NULL) {
|
||||
zend_list_close(stream->readfilters.head->res);
|
||||
}
|
||||
php_stream_filter_remove(stream->readfilters.head, 1);
|
||||
}
|
||||
while (stream->writefilters.head) {
|
||||
if (stream->writefilters.head->res != NULL) {
|
||||
zend_list_close(stream->writefilters.head->res);
|
||||
}
|
||||
php_stream_filter_remove(stream->writefilters.head, 1);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user