diff options
author | Stanislav Malyshev <stas@php.net> | 2016-03-28 23:44:55 -0700 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2016-03-28 23:44:55 -0700 |
commit | a50e1cb5a325b33a27d1059ec8b2a68516362413 (patch) | |
tree | aa62ec61b1cd565a15a333b635cbd794521d5d54 | |
parent | dc318cd7db947088a3ba7c4b7e9a5dd0957e5f68 (diff) | |
parent | 3dd82caf57d48973e98b02e5c1058ab36b30043b (diff) | |
download | php-git-a50e1cb5a325b33a27d1059ec8b2a68516362413.tar.gz |
Merge branch 'PHP-5.5' into PHP-5.6.20
* PHP-5.5:
Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
Fix bug #71798 - Integer Overflow in php_raw_url_encode
Fix bug #71860: Require valid paths for phar filenames
Going for 5.5.34
Conflicts:
configure.in
ext/phar/tests/create_path_error.phpt
main/php_version.h
-rw-r--r-- | ext/mbstring/libmbfl/mbfl/mbfilter.c | 34 | ||||
-rw-r--r-- | ext/phar/phar.c | 4 | ||||
-rw-r--r-- | ext/phar/phar_object.c | 40 | ||||
-rw-r--r-- | ext/phar/tests/badparameters.phpt | 18 | ||||
-rw-r--r-- | ext/phar/tests/bug64931/bug64931.phpt | 5 | ||||
-rw-r--r-- | ext/phar/tests/create_path_error.phpt | 13 | ||||
-rw-r--r-- | ext/phar/tests/phar_extract.phpt | 2 | ||||
-rw-r--r-- | ext/phar/tests/phar_isvalidpharfilename.phpt | 2 | ||||
-rw-r--r-- | ext/phar/tests/phar_unlinkarchive.phpt | 2 | ||||
-rw-r--r-- | ext/phar/tests/pharfileinfo_construct.phpt | 2 | ||||
-rw-r--r-- | ext/standard/url.c | 2 |
11 files changed, 64 insertions, 60 deletions
diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 3b14727d6b..4986472b9b 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -72,7 +72,7 @@ * */ -/* +/* * Unicode support * * Portions copyright (c) 1999,2000,2001 by the PHP3 internationalization team. @@ -137,7 +137,7 @@ mbfl_buffer_converter_new( mbfl_buffer_converter * mbfl_buffer_converter_new2( const mbfl_encoding *from, - const mbfl_encoding *to, + const mbfl_encoding *to, int buf_initsz) { mbfl_buffer_converter *convd; @@ -339,7 +339,7 @@ mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result) } mbfl_string * -mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, +mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, mbfl_string *result) { if (convd == NULL || string == NULL || result == NULL) { @@ -535,7 +535,7 @@ const mbfl_encoding *mbfl_encoding_detector_judge2(mbfl_encoding_detector *ident } n--; } - + /* fallback judge */ if (!encoding) { n = identd->filter_list_size - 1; @@ -702,7 +702,7 @@ mbfl_identify_encoding(mbfl_string *string, enum mbfl_no_encoding *elist, int el } } } - + /* cleanup */ /* dtors should be called in reverse order */ i = num; while (--i >= 0) { @@ -785,7 +785,7 @@ mbfl_identify_encoding2(mbfl_string *string, const mbfl_encoding **elist, int el } } } - + /* cleanup */ /* dtors should be called in reverse order */ i = num; while (--i >= 0) { @@ -844,7 +844,7 @@ mbfl_strlen(mbfl_string *string) } else { /* wchar filter */ mbfl_convert_filter *filter = mbfl_convert_filter_new( - string->no_encoding, + string->no_encoding, mbfl_no_encoding_wchar, filter_count_output, 0, &len); if (filter == NULL) { @@ -865,7 +865,7 @@ mbfl_strlen(mbfl_string *string) return len; } - + /* * strpos */ @@ -931,7 +931,7 @@ retry: /* * oddlen */ -int +int mbfl_oddlen(mbfl_string *string) { int len, n, m, k; @@ -1071,7 +1071,7 @@ mbfl_strpos( ++result; } else if ((c & 0xc0) != 0x80) { ++result; - } + } } goto out; } @@ -1116,7 +1116,7 @@ mbfl_strpos( qe = needle_u8_val + needle_u8_len; if (offset < 0) { if (-offset > needle_len) { - offset += needle_len; + offset += needle_len; while (offset < 0) { unsigned char c; if (p <= e) { @@ -1158,7 +1158,7 @@ mbfl_strpos( ++result; } else if ((c & 0xc0) != 0x80) { ++result; - } + } } goto out; } @@ -1501,7 +1501,7 @@ mbfl_strcut( if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { from &= -2; - if (from + length >= string->len) { + if (length >= string->len - from) { length = string->len - from; } @@ -1510,14 +1510,14 @@ mbfl_strcut( } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { from &= -4; - if (from + length >= string->len) { + if (length >= string->len - from) { length = string->len - from; } start = string->val + from; end = start + (length & -4); } else if ((encoding->flag & MBFL_ENCTYPE_SBCS)) { - if (from + length >= string->len) { + if (length >= string->len - from) { length = string->len - from; } @@ -1539,7 +1539,7 @@ mbfl_strcut( start = p; /* search end position */ - if ((start - string->val) + length >= (int)string->len) { + if (length >= (int)string->len - (start - string->val)) { end = string->val + string->len; } else { for (q = p + length; p < q; p += (m = mbtab[*p])); @@ -2024,7 +2024,7 @@ mbfl_ja_jp_hantozen( mbfl_no_encoding_wchar, (int(*)(int, void*))next_filter->filter_function, (int(*)(void*))next_filter->filter_flush, - next_filter); + next_filter); if (encoder == NULL) { goto out; } diff --git a/ext/phar/phar.c b/ext/phar/phar.c index 228dfcaaaf..14b80e175e 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -2242,6 +2242,10 @@ int phar_split_fname(const char *filename, int filename_len, char **arch, int *a #endif int ext_len; + if (CHECK_NULL_PATH(filename, filename_len)) { + return FAILURE; + } + if (!strncasecmp(filename, "phar://", 7)) { filename += 7; filename_len -= 7; diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index e02f9040e7..08d29831e0 100644 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -478,7 +478,7 @@ PHP_METHOD(Phar, mount) int fname_len, arch_len, entry_len, path_len, actual_len; phar_archive_data **pphar; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &path, &path_len, &actual, &actual_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "pp", &path, &path_len, &actual, &actual_len) == FAILURE) { return; } @@ -960,7 +960,7 @@ PHP_METHOD(Phar, createDefaultStub) int index_len = 0, webindex_len = 0; size_t stub_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ss", &index, &index_len, &webindex, &webindex_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|pp", &index, &index_len, &webindex, &webindex_len) == FAILURE) { return; } @@ -1004,7 +1004,7 @@ PHP_METHOD(Phar, loadPhar) char *fname, *alias = NULL, *error; int fname_len, alias_len = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &fname, &fname_len, &alias, &alias_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|s!", &fname, &fname_len, &alias, &alias_len) == FAILURE) { return; } @@ -1083,7 +1083,7 @@ PHP_METHOD(Phar, isValidPharFilename) int fname_len, ext_len, is_executable; zend_bool executable = 1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &fname, &fname_len, &executable) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|b", &fname, &fname_len, &executable) == FAILURE) { return; } @@ -1154,11 +1154,11 @@ PHP_METHOD(Phar, __construct) is_data = instanceof_function(Z_OBJCE_P(zobj), phar_ce_data TSRMLS_CC); if (is_data) { - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ls!l", &fname, &fname_len, &flags, &alias, &alias_len, &format) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|ls!l", &fname, &fname_len, &flags, &alias, &alias_len, &format) == FAILURE) { return; } } else { - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ls!", &fname, &fname_len, &flags, &alias, &alias_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|ls!", &fname, &fname_len, &flags, &alias, &alias_len) == FAILURE) { return; } } @@ -1326,7 +1326,7 @@ PHP_METHOD(Phar, unlinkArchive) int fname_len, zname_len, arch_len, entry_len; phar_archive_data *phar; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &fname, &fname_len) == FAILURE) { RETURN_FALSE; } @@ -1756,7 +1756,7 @@ PHP_METHOD(Phar, buildFromDirectory) return; } - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &dir, &dir_len, ®ex, ®ex_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|s", &dir, &dir_len, ®ex, ®ex_len) == FAILURE) { RETURN_FALSE; } @@ -2630,7 +2630,7 @@ PHP_METHOD(Phar, delete) return; } - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &fname, &fname_len) == FAILURE) { RETURN_FALSE; } @@ -3442,7 +3442,7 @@ PHP_METHOD(Phar, copy) PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &oldfile, &oldfile_len, &newfile, &newfile_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "pp", &oldfile, &oldfile_len, &newfile, &newfile_len) == FAILURE) { return; } @@ -3548,7 +3548,7 @@ PHP_METHOD(Phar, offsetExists) PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &fname, &fname_len) == FAILURE) { return; } @@ -3585,7 +3585,7 @@ PHP_METHOD(Phar, offsetGet) phar_entry_info *entry; PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &fname, &fname_len) == FAILURE) { return; } @@ -3733,8 +3733,8 @@ PHP_METHOD(Phar, offsetSet) return; } - if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "sr", &fname, &fname_len, &zresource) == FAILURE - && zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &fname, &fname_len, &cont_str, &cont_len) == FAILURE) { + if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "pr", &fname, &fname_len, &zresource) == FAILURE + && zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ps", &fname, &fname_len, &cont_str, &cont_len) == FAILURE) { return; } @@ -3772,7 +3772,7 @@ PHP_METHOD(Phar, offsetUnset) return; } - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &fname, &fname_len) == FAILURE) { return; } @@ -3819,7 +3819,7 @@ PHP_METHOD(Phar, addEmptyDir) PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &dirname, &dirname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &dirname, &dirname_len) == FAILURE) { return; } @@ -3844,7 +3844,7 @@ PHP_METHOD(Phar, addFile) PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &fname, &fname_len, &localname, &localname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|s", &fname, &fname_len, &localname, &localname_len) == FAILURE) { return; } @@ -3888,7 +3888,7 @@ PHP_METHOD(Phar, addFromString) PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &localname, &localname_len, &cont_str, &cont_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ps", &localname, &localname_len, &cont_str, &cont_len) == FAILURE) { return; } @@ -4315,7 +4315,7 @@ PHP_METHOD(Phar, extractTo) PHAR_ARCHIVE_OBJECT(); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z!b", &pathto, &pathto_len, &zval_files, &overwrite) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|z!b", &pathto, &pathto_len, &zval_files, &overwrite) == FAILURE) { return; } @@ -4454,7 +4454,7 @@ PHP_METHOD(PharFileInfo, __construct) phar_archive_data *phar_data; zval *zobj = getThis(), arg1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p", &fname, &fname_len) == FAILURE) { return; } diff --git a/ext/phar/tests/badparameters.phpt b/ext/phar/tests/badparameters.phpt index 317969799a..c33426e9d9 100644 --- a/ext/phar/tests/badparameters.phpt +++ b/ext/phar/tests/badparameters.phpt @@ -126,19 +126,19 @@ echo $e->getMessage() . "\n"; --EXPECTF-- Warning: Phar::mungServer() expects parameter 1 to be array, %string given in %sbadparameters.php on line %d -Warning: Phar::createDefaultStub() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::createDefaultStub() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d -Warning: Phar::loadPhar() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::loadPhar() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d Warning: Phar::canCompress() expects parameter 1 to be long, %string given in %sbadparameters.php on line %d -Warning: Phar::__construct() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::__construct() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d Warning: Phar::convertToExecutable() expects parameter 1 to be long, array given in %sbadparameters.php on line %d Warning: Phar::convertToData() expects parameter 1 to be long, array given in %sbadparameters.php on line %d -Warning: PharData::delete() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: PharData::delete() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d Cannot write out phar archive, phar is read-only Entry oops does not exist and cannot be deleted %sfiles/frontcontroller10.phar @@ -165,18 +165,18 @@ Phar is readonly, cannot change compression Warning: Phar::copy() expects exactly 2 parameters, 1 given in %sbadparameters.php on line %d Cannot copy "a" to "b", phar is read-only -Warning: Phar::offsetExists() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::offsetExists() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d -Warning: Phar::offsetGet() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::offsetGet() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d Warning: Phar::offsetSet() expects exactly 2 parameters, 1 given in %sbadparameters.php on line %d -Warning: PharData::offsetUnset() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: PharData::offsetUnset() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d Write operations disabled by the php.ini setting phar.readonly -Warning: Phar::addEmptyDir() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::addEmptyDir() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d -Warning: Phar::addFile() expects parameter 1 to be %string, array given in %sbadparameters.php on line %d +Warning: Phar::addFile() expects parameter 1 to be a valid path, array given in %sbadparameters.php on line %d Warning: Phar::addFromString() expects exactly 2 parameters, 1 given in %sbadparameters.php on line %d Write operations disabled by the php.ini setting phar.readonly diff --git a/ext/phar/tests/bug64931/bug64931.phpt b/ext/phar/tests/bug64931/bug64931.phpt index 9c1f9dcaf1..29e0c7b4e3 100644 --- a/ext/phar/tests/bug64931/bug64931.phpt +++ b/ext/phar/tests/bug64931/bug64931.phpt @@ -48,11 +48,12 @@ try { <?php @unlink(__DIR__."/bug64931.phar"); ?> ---EXPECT-- +--EXPECTF-- Test CAUGHT: Cannot create any files in magic ".phar" directory CAUGHT: Cannot create any files in magic ".phar" directory CAUGHT: Cannot create any files in magic ".phar" directory CAUGHT: Cannot create any files in magic ".phar" directory -CAUGHT: Cannot create any files in magic ".phar" directory + +Warning: Phar::addFromString() expects parameter 1 to be a valid path, string given in %s/bug64931.php on line %d ===DONE===
\ No newline at end of file diff --git a/ext/phar/tests/create_path_error.phpt b/ext/phar/tests/create_path_error.phpt index fe2cd3e22b..d457deb22d 100644 --- a/ext/phar/tests/create_path_error.phpt +++ b/ext/phar/tests/create_path_error.phpt @@ -75,11 +75,10 @@ string(5) "query" 6: 7: 8: -9:Error: file_put_contents(phar://%s): failed to open stream: phar error: invalid path "%s" contains illegal character -10:Error: file_put_contents(phar://%s): failed to open stream: phar error: invalid path "%s" contains illegal character -11:Error: file_put_contents(phar://%s): failed to open stream: phar error: invalid path "%s" contains illegal character -12:Error: file_put_contents(phar://%s): failed to open stream: phar error: invalid path "%s" contains illegal character -13:Error: file_put_contents(phar://%s): failed to open stream: phar error: invalid path "%s" contains illegal character -Exception: Entry a does not exist and cannot be created: phar error: invalid path "a" contains illegal character -===DONE=== +9:Error: file_put_contents(phar:///%s): failed to open stream: phar error: invalid path "%s" contains illegal character +10:Error: file_put_contents(phar:///%s): failed to open stream: phar error: invalid path "%s" contains illegal character +11:Error: file_put_contents(phar:///%s): failed to open stream: phar error: invalid path "%s" contains illegal character +12:Error: file_put_contents(phar:///%s): failed to open stream: phar error: invalid path "%s" contains illegal character +13:Error: file_put_contents(phar:///%s): failed to open stream: phar error: invalid path "%s" contains illegal character +Error: Phar::offsetSet() expects parameter 1 to be a valid path, string given===DONE=== diff --git a/ext/phar/tests/phar_extract.phpt b/ext/phar/tests/phar_extract.phpt index bc545236fd..f7d1403d59 100644 --- a/ext/phar/tests/phar_extract.phpt +++ b/ext/phar/tests/phar_extract.phpt @@ -138,7 +138,7 @@ string(3) "hi2" bool(false) Invalid argument, expected a filename (string) or array of filenames -Warning: Phar::extractTo() expects parameter 1 to be %string, array given in %sphar_extract.php on line %d +Warning: Phar::extractTo() expects parameter 1 to be a valid path, array given in %sphar_extract.php on line %d Invalid argument, extraction path must be non-zero length Unable to use path "%soops" for extraction, it is a file, must be a directory Invalid argument, array of filenames to extract contains non-string value diff --git a/ext/phar/tests/phar_isvalidpharfilename.phpt b/ext/phar/tests/phar_isvalidpharfilename.phpt index dee9b7dc03..da07bec287 100644 --- a/ext/phar/tests/phar_isvalidpharfilename.phpt +++ b/ext/phar/tests/phar_isvalidpharfilename.phpt @@ -76,7 +76,7 @@ var_dump(Phar::isValidPharFilename('dir.phar.php', false)); <?php rmdir(dirname(__FILE__) . '/.phar'); --EXPECTF-- -Warning: Phar::isValidPharFilename() expects parameter 1 to be %string, array given in %sphar_isvalidpharfilename.php on line %d +Warning: Phar::isValidPharFilename() expects parameter 1 to be a valid path, array given in %sphar_isvalidpharfilename.php on line %d * bool(false) bool(false) diff --git a/ext/phar/tests/phar_unlinkarchive.phpt b/ext/phar/tests/phar_unlinkarchive.phpt index 4800c5272d..2f441bace5 100644 --- a/ext/phar/tests/phar_unlinkarchive.phpt +++ b/ext/phar/tests/phar_unlinkarchive.phpt @@ -90,7 +90,7 @@ Unknown phar archive "" Unknown phar archive "%sphar_unlinkarchive.phar" Unknown phar archive "%sphar_unlinkarchive.phar.tar": internal corruption of phar "%sphar_unlinkarchive.phar.tar" (truncated entry) -Warning: Phar::unlinkArchive() expects parameter 1 to be %string, array given in %sphar_unlinkarchive.php on line %d +Warning: Phar::unlinkArchive() expects parameter 1 to be a valid path, array given in %sphar_unlinkarchive.php on line %d bool(false) string(48) "<?php echo "first stub\n"; __HALT_COMPILER(); ?>" phar archive "%sphar_unlinkarchive.phar" has open file handles or objects. fclose() all file handles, and unset() all objects prior to calling unlinkArchive() diff --git a/ext/phar/tests/pharfileinfo_construct.phpt b/ext/phar/tests/pharfileinfo_construct.phpt index 2610095e6e..6a41a52a30 100644 --- a/ext/phar/tests/pharfileinfo_construct.phpt +++ b/ext/phar/tests/pharfileinfo_construct.phpt @@ -47,7 +47,7 @@ echo $e->getMessage() . "\n"; --EXPECTF-- Cannot open phar file 'phar://%spharfileinfo_construct.phar/oops': internal corruption of phar "%spharfileinfo_construct.phar" (truncated entry) -Warning: PharFileInfo::__construct() expects parameter 1 to be %string, array given in %spharfileinfo_construct.php on line %d +Warning: PharFileInfo::__construct() expects parameter 1 to be a valid path, array given in %spharfileinfo_construct.php on line %d Cannot access phar file entry '/oops/I/do/not/exist' in archive '%spharfileinfo_construct.phar' Cannot call constructor twice '%spharfileinfo_construct.php' is not a valid phar archive URL (must have at least phar://filename.phar) diff --git a/ext/standard/url.c b/ext/standard/url.c index ce0f0bc83c..b34f16a518 100644 --- a/ext/standard/url.c +++ b/ext/standard/url.c @@ -599,7 +599,7 @@ PHPAPI int php_url_decode(char *str, int len) */ PHPAPI char *php_raw_url_encode(char const *s, int len, int *new_length) { - register int x, y; + register size_t x, y; unsigned char *str; str = (unsigned char *) safe_emalloc(3, len, 1); |