svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/phar/stream.c branches/PHP_5_3/main/php_streams.h trunk/ext/phar/stream.c
trunk/main/php_streams.h
| From: | Ilia Alshanetsky | Date: | Tue, 14 Dec 2010 17:00:36 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/phar/stream.c branches/PHP_5_3/main/php_streams.h trunk/ext/phar/stream.c trunk/main/php_streams.h |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-64136@lists.php.net to get a copy of this message | ||
iliaa Tue, 14 Dec 2010 17:00:36 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=306367
Log:
Fixed bug #53541 (format string bug in ext/phar).
Bug: http://bugs.php.net/53541 (Open) format string bug in
ext/phar
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/phar/stream.c
U php/php-src/branches/PHP_5_3/main/php_streams.h
U php/php-src/trunk/ext/phar/stream.c
U php/php-src/trunk/main/php_streams.h
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2010-12-14 15:42:22 UTC (rev 306366)
+++ php/php-src/branches/PHP_5_3/NEWS 2010-12-14 17:00:36 UTC (rev 306367)
@@ -45,6 +45,10 @@
- PDO PostgreSQL driver:
. Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down).
(gyp at balabit dot hu)
+
+- Phar Extension:
+ . Fixed bug #53541 (format string bug in ext/phar).
+ (crrodriguez at opensuse dot org, Ilia)
- SPL extension:
. Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0
Modified: php/php-src/branches/PHP_5_3/ext/phar/stream.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/phar/stream.c 2010-12-14 15:42:22 UTC (rev 306366)
+++ php/php-src/branches/PHP_5_3/ext/phar/stream.c 2010-12-14 17:00:36 UTC (rev 306367)
@@ -250,7 +250,7 @@
if (!*internal_file && (options & STREAM_OPEN_FOR_INCLUDE)) {
/* retrieve the stub */
if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, NULL
TSRMLS_CC)) {
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "file %s is not a valid phar
archive");
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "file %s is not a valid phar
archive", resource->host);
efree(internal_file);
php_url_free(resource);
return NULL;
Modified: php/php-src/branches/PHP_5_3/main/php_streams.h
===================================================================
--- php/php-src/branches/PHP_5_3/main/php_streams.h 2010-12-14 15:42:22 UTC (rev 306366)
+++ php/php-src/branches/PHP_5_3/main/php_streams.h 2010-12-14 17:00:36 UTC (rev 306367)
@@ -292,7 +292,12 @@
#define php_stream_write_string(stream, str) _php_stream_write(stream, str, strlen(str) TSRMLS_CC)
#define php_stream_write(stream, buf, count) _php_stream_write(stream, (buf), (count) TSRMLS_CC)
-PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...);
+#ifdef ZTS
+PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...)
PHP_ATTRIBUTE_FORMAT(printf, 3, 4);
+#else
+PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...)
PHP_ATTRIBUTE_FORMAT(printf, 2, 3);
+#endif
+
/* php_stream_printf macro & function require TSRMLS_CC */
#define php_stream_printf _php_stream_printf
@@ -548,9 +553,12 @@
php_stream_open_wrapper_ex(Z_STRVAL_PP((zstream)), (mode), (options), (opened), (context)) :
NULL
/* pushes an error message onto the stack for a wrapper instance */
-PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const
char *fmt, ...);
+#ifdef ZTS
+PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const
char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 4, 5);
+#else
+PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const
char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4);
+#endif
-
#define PHP_STREAM_UNCHANGED 0 /* orig stream was seekable anyway */
#define PHP_STREAM_RELEASED 1 /* newstream should be used; origstream is no longer valid */
#define PHP_STREAM_FAILED 2 /* an error occurred while attempting conversion */
Modified: php/php-src/trunk/ext/phar/stream.c
===================================================================
--- php/php-src/trunk/ext/phar/stream.c 2010-12-14 15:42:22 UTC (rev 306366)
+++ php/php-src/trunk/ext/phar/stream.c 2010-12-14 17:00:36 UTC (rev 306367)
@@ -250,7 +250,7 @@
if (!*internal_file && (options & STREAM_OPEN_FOR_INCLUDE)) {
/* retrieve the stub */
if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, NULL
TSRMLS_CC)) {
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "file %s is not a valid phar
archive");
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "file %s is not a valid phar
archive", resource->host);
efree(internal_file);
php_url_free(resource);
return NULL;
Modified: php/php-src/trunk/main/php_streams.h
===================================================================
--- php/php-src/trunk/main/php_streams.h 2010-12-14 15:42:22 UTC (rev 306366)
+++ php/php-src/trunk/main/php_streams.h 2010-12-14 17:00:36 UTC (rev 306367)
@@ -299,7 +299,12 @@
#define php_stream_write_string(stream, str) _php_stream_write(stream, str, strlen(str) TSRMLS_CC)
#define php_stream_write(stream, buf, count) _php_stream_write(stream, (buf), (count) TSRMLS_CC)
-PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...);
+#ifdef ZTS
+PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...)
PHP_ATTRIBUTE_FORMAT(printf, 3, 4);
+#else
+PHPAPI size_t _php_stream_printf(php_stream *stream TSRMLS_DC, const char *fmt, ...)
PHP_ATTRIBUTE_FORMAT(printf, 2, 3);
+#endif
+
/* php_stream_printf macro & function require TSRMLS_CC */
#define php_stream_printf _php_stream_printf
@@ -555,9 +560,12 @@
php_stream_open_wrapper_ex(Z_STRVAL_PP((zstream)), (mode), (options), (opened), (context)) :
NULL
/* pushes an error message onto the stack for a wrapper instance */
-PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const
char *fmt, ...);
+#ifdef ZTS
+PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const
char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 4, 5);
+#else
+PHPAPI void php_stream_wrapper_log_error(php_stream_wrapper *wrapper, int options TSRMLS_DC, const
char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4);
+#endif
-
#define PHP_STREAM_UNCHANGED 0 /* orig stream was seekable anyway */
#define PHP_STREAM_RELEASED 1 /* newstream should be used; origstream is no longer valid */
#define PHP_STREAM_FAILED 2 /* an error occurred while attempting conversion */