[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
kalle Wed May 13 15:55:12 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: MFH: Nuke compiler warning http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.21r2=1.20.2.22diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.21 php-src/ext/phar/func_interceptors.c:1.20.2.22 --- php-src/ext/phar/func_interceptors.c:1.20.2.21 Wed Dec 31 11:15:42 2008 +++ php-src/ext/phar/func_interceptors.cWed May 13 15:55:12 2009 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.21 2008/12/31 11:15:42 sebastian Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.22 2009/05/13 15:55:12 kalle Exp $ */ #include phar_internal.h @@ -98,7 +98,7 @@ char *contents; zend_bool use_include_path = 0; php_stream *stream; - int len, newlen; + int len; long offset = -1; long maxlen = PHP_STREAM_COPY_ALL; zval *zcontext = NULL; @@ -205,6 +205,7 @@ if ((len = php_stream_copy_to_mem(stream, contents, maxlen, 0)) 0) { #if PHP_MAJOR_VERSION 6 if (PG(magic_quotes_runtime)) { + int newlen; contents = php_addslashes(contents, len, newlen, 1 TSRMLS_CC); /* 1 = free source string */ len = newlen; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
cellog Fri Sep 26 04:41:22 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: fix obvious memory leak http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.18r2=1.20.2.19diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.18 php-src/ext/phar/func_interceptors.c:1.20.2.19 --- php-src/ext/phar/func_interceptors.c:1.20.2.18 Sat Sep 13 22:30:55 2008 +++ php-src/ext/phar/func_interceptors.cFri Sep 26 04:41:22 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.18 2008/09/13 22:30:55 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.19 2008/09/26 04:41:22 cellog Exp $ */ #include phar_internal.h @@ -646,6 +646,7 @@ entry_len = (int) filename_length; if (FAILURE == phar_get_archive(phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) { efree(arch); + efree(entry); goto skip_phar; } splitted: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
cellog Fri Sep 26 04:54:08 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: fix another memory leak http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.19r2=1.20.2.20diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.19 php-src/ext/phar/func_interceptors.c:1.20.2.20 --- php-src/ext/phar/func_interceptors.c:1.20.2.19 Fri Sep 26 04:41:22 2008 +++ php-src/ext/phar/func_interceptors.cFri Sep 26 04:54:08 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.19 2008/09/26 04:41:22 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.20 2008/09/26 04:54:08 cellog Exp $ */ #include phar_internal.h @@ -686,6 +686,7 @@ int save_len; notfound: + efree(entry); save = PHAR_G(cwd); save_len = PHAR_G(cwd_len); /* this file is not in the current directory, use the original path */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
cellog Sun Aug 31 06:04:39 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: WS merge from pecl/phar http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.14r2=1.20.2.15diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.14 php-src/ext/phar/func_interceptors.c:1.20.2.15 --- php-src/ext/phar/func_interceptors.c:1.20.2.14 Thu Aug 14 13:01:28 2008 +++ php-src/ext/phar/func_interceptors.cSun Aug 31 06:04:38 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.14 2008/08/14 13:01:28 dmitry Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.15 2008/08/31 06:04:38 cellog Exp $ */ #include phar_internal.h @@ -517,7 +517,7 @@ case S_IFDIR: RETURN_STRING(dir, 1); case S_IFREG: RETURN_STRING(file, 1); } - php_error_docref(NULL TSRMLS_CC, E_NOTICE, Unknown file type (%d), stat_sb-st_modeS_IFMT); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, Unknown file type (%d), stat_sb-st_mode S_IFMT); RETURN_STRING(unknown, 1); case FS_IS_W: RETURN_BOOL((stat_sb-st_mode wmask) != 0); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c phar.phar
cellog Sun Aug 31 06:05:20 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c phar.phar Log: remove unused variables, merge from pecl/phar http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.15r2=1.20.2.16diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.15 php-src/ext/phar/func_interceptors.c:1.20.2.16 --- php-src/ext/phar/func_interceptors.c:1.20.2.15 Sun Aug 31 06:04:38 2008 +++ php-src/ext/phar/func_interceptors.cSun Aug 31 06:05:20 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.15 2008/08/31 06:04:38 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.16 2008/08/31 06:05:20 cellog Exp $ */ #include phar_internal.h @@ -681,16 +681,12 @@ #endif goto statme_baby; } else { - char *save, *save2, *actual; - int save_len, save2_len, actual_len; + char *save; + int save_len; notfound: save = PHAR_G(cwd); - save2 = entry; - actual = entry[0] == '/' ? (entry + 1) : entry; save_len = PHAR_G(cwd_len); - save2_len = entry_len; - actual_len = entry[0] == '/' ? (entry_len - 1) : entry_len; /* this file is not in the current directory, use the original path */ entry = estrndup(filename, filename_length); entry_len = filename_length; @@ -702,7 +698,6 @@ PHAR_G(cwd) = save; PHAR_G(cwd_len) = save_len; efree(entry); - efree(save2); if (IS_EXISTS_CHECK(type)) { efree(arch); RETURN_TRUE; @@ -713,7 +708,6 @@ PHAR_G(cwd) = save; PHAR_G(cwd_len) = save_len; efree(entry); - efree(save2); efree(arch); if (IS_EXISTS_CHECK(type)) { RETURN_TRUE; @@ -735,7 +729,6 @@ PHAR_G(cwd) = save; PHAR_G(cwd_len) = save_len; efree(entry); - efree(save2); efree(arch); /* Error Occured */ if (!IS_EXISTS_CHECK(type)) { http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.phar?r1=1.7.2.33r2=1.7.2.34diff_format=u Index: php-src/ext/phar/phar.phar -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c phar.phar phar_object.c
cellog Sun Aug 31 06:26:19 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c phar.phar phar_object.c Log: use %u instead of %d, merge from pecl/phar http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.16r2=1.20.2.17diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.16 php-src/ext/phar/func_interceptors.c:1.20.2.17 --- php-src/ext/phar/func_interceptors.c:1.20.2.16 Sun Aug 31 06:05:20 2008 +++ php-src/ext/phar/func_interceptors.cSun Aug 31 06:26:19 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.16 2008/08/31 06:05:20 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.17 2008/08/31 06:26:19 cellog Exp $ */ #include phar_internal.h @@ -517,7 +517,7 @@ case S_IFDIR: RETURN_STRING(dir, 1); case S_IFREG: RETURN_STRING(file, 1); } - php_error_docref(NULL TSRMLS_CC, E_NOTICE, Unknown file type (%d), stat_sb-st_mode S_IFMT); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, Unknown file type (%u), stat_sb-st_mode S_IFMT); RETURN_STRING(unknown, 1); case FS_IS_W: RETURN_BOOL((stat_sb-st_mode wmask) != 0); http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.phar?r1=1.7.2.35r2=1.7.2.36diff_format=u Index: php-src/ext/phar/phar.phar diff -u php-src/ext/phar/phar.phar:1.7.2.35 php-src/ext/phar/phar.phar:1.7.2.36 --- php-src/ext/phar/phar.phar:1.7.2.35 Sun Aug 31 06:13:42 2008 +++ php-src/ext/phar/phar.phar Sun Aug 31 06:26:19 2008 @@ -1171,8 +1171,8 @@ new PharCommand($argc, $argv); __HALT_COMPILER(); ? -6-+6+ ¶Â²Øä±÷¡JÉþs±æêÔ*,8W?°!~ýë¸ Y åBós.coîd!¨`w¡óLæȹBÀí.å[aäÙs\í¹ gß× óbnáN@@ -1229,4 +1229,4 @@ ùUNøÖ[EMAIL PROTECTED][EMAIL PROTECTED] ¬ËaYº[Ãâ¬mòvOëý]¸¹)×soS jßZæ/]ûôÞv¿Ç½T%æ:ýÚ)cÚv]¶Ebô«ÐÓ*Çê=KÕO)ò)«Ë-Ô]µLí·¡7µ¾Í¨.î zÿ.jß?8Tù®,:«Äa·éï¤Á»hg ±µÉH¨#[T5$ÜßÞ¶LÐâ¯z4ʼè)ÿLuÒñxï;ñ©Æø³;TMe,¯¿{}4b,[EMAIL PROTECTED] íÑèµïtúÎþ®øÚ÷Eí»ú¡ÃÏàÇGxîÓ᧾óãæ]¢Õ~fI|øðP j7l1ØÛPHüéÅiGH¬5´¯$ß/rªýëÐ~Ñúgìªz²¢ÎÛ¦puùäûù;â9³ä¯;[EMAIL PROTECTED] -Pàø3C°\ No newline at end of file +Pàø3C°\ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar_object.c?r1=1.266.2.39r2=1.266.2.40diff_format=u Index: php-src/ext/phar/phar_object.c diff -u php-src/ext/phar/phar_object.c:1.266.2.39 php-src/ext/phar/phar_object.c:1.266.2.40 --- php-src/ext/phar/phar_object.c:1.266.2.39 Fri Aug 1 13:48:44 2008 +++ php-src/ext/phar/phar_object.c Sun Aug 31 06:26:19 2008 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: phar_object.c,v 1.266.2.39 2008/08/01 13:48:44 sfox Exp $ */ +/* $Id: phar_object.c,v 1.266.2.40 2008/08/31 06:26:19 cellog Exp $ */ #include phar_internal.h #include func_interceptors.h @@ -203,7 +203,7 @@ ctr.line_len = spprintf((ctr.line), 0, Content-type: %s, mime_type); sapi_header_op(SAPI_HEADER_REPLACE, ctr TSRMLS_CC); efree(ctr.line); - ctr.line_len = spprintf((ctr.line), 0, Content-length: %d, info-uncompressed_filesize); + ctr.line_len = spprintf((ctr.line), 0, Content-length: %u, info-uncompressed_filesize); sapi_header_op(SAPI_HEADER_REPLACE, ctr TSRMLS_CC); efree(ctr.line); @@ -2986,7 +2986,7 @@ add_assoc_stringl(return_value, hash_type, OpenSSL, 7, 1); break; default: - unknown_len = spprintf(unknown, 0, Unknown (%d), phar_obj-arc.archive-sig_flags); + unknown_len = spprintf(unknown, 0, Unknown (%u), phar_obj-arc.archive-sig_flags); add_assoc_stringl(return_value, hash_type, unknown, unknown_len, 0); break; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c func_interceptors.h phar.c
dmitry Thu Aug 14 13:01:28 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c func_interceptors.h phar.c Log: Fixed bug #45613 Segfault when using is_file() on Apache-2.2.8 http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.13r2=1.20.2.14diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.13 php-src/ext/phar/func_interceptors.c:1.20.2.14 --- php-src/ext/phar/func_interceptors.c:1.20.2.13 Tue Aug 12 14:56:52 2008 +++ php-src/ext/phar/func_interceptors.cThu Aug 14 13:01:28 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.13 2008/08/12 14:56:52 helly Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.14 2008/08/14 13:01:28 dmitry Exp $ */ #include phar_internal.h @@ -1130,6 +1130,85 @@ } /* }}} */ +static struct _phar_orig_functions { + void(*orig_fopen)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_file_get_contents)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_is_file)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_is_link)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_is_dir)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_opendir)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_file_exists)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_fileperms)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_fileinode)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_filesize)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_fileowner)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_filegroup)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_fileatime)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_filemtime)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_filectime)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_filetype)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_is_writable)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_is_readable)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_is_executable)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_lstat)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_readfile)(INTERNAL_FUNCTION_PARAMETERS); + void(*orig_stat)(INTERNAL_FUNCTION_PARAMETERS); +} phar_orig_functions = {NULL}; + +void phar_save_orig_functions(TSRMLS_D) /* {{{ */ +{ + phar_orig_functions.orig_fopen = PHAR_G(orig_fopen); + phar_orig_functions.orig_file_get_contents = PHAR_G(orig_file_get_contents); + phar_orig_functions.orig_is_file = PHAR_G(orig_is_file); + phar_orig_functions.orig_is_link = PHAR_G(orig_is_link); + phar_orig_functions.orig_is_dir= PHAR_G(orig_is_dir); + phar_orig_functions.orig_opendir = PHAR_G(orig_opendir); + phar_orig_functions.orig_file_exists = PHAR_G(orig_file_exists); + phar_orig_functions.orig_fileperms = PHAR_G(orig_fileperms); + phar_orig_functions.orig_fileinode = PHAR_G(orig_fileinode); + phar_orig_functions.orig_filesize = PHAR_G(orig_filesize); + phar_orig_functions.orig_fileowner = PHAR_G(orig_fileowner); + phar_orig_functions.orig_filegroup = PHAR_G(orig_filegroup); + phar_orig_functions.orig_fileatime = PHAR_G(orig_fileatime); + phar_orig_functions.orig_filemtime = PHAR_G(orig_filemtime); + phar_orig_functions.orig_filectime = PHAR_G(orig_filectime); + phar_orig_functions.orig_filetype = PHAR_G(orig_filetype); + phar_orig_functions.orig_is_writable = PHAR_G(orig_is_writable); + phar_orig_functions.orig_is_readable = PHAR_G(orig_is_readable); + phar_orig_functions.orig_is_executable = PHAR_G(orig_is_executable); + phar_orig_functions.orig_lstat = PHAR_G(orig_lstat); + phar_orig_functions.orig_readfile = PHAR_G(orig_readfile); + phar_orig_functions.orig_stat = PHAR_G(orig_stat); +} +/* }}} */ + +void phar_restore_orig_functions(TSRMLS_D) /* {{{ */ +{ + PHAR_G(orig_fopen) = phar_orig_functions.orig_fopen; + PHAR_G(orig_file_get_contents) = phar_orig_functions.orig_file_get_contents; + PHAR_G(orig_is_file) = phar_orig_functions.orig_is_file; + PHAR_G(orig_is_link) = phar_orig_functions.orig_is_link; + PHAR_G(orig_is_dir)= phar_orig_functions.orig_is_dir; + PHAR_G(orig_opendir) = phar_orig_functions.orig_opendir; + PHAR_G(orig_file_exists) = phar_orig_functions.orig_file_exists; + PHAR_G(orig_fileperms) = phar_orig_functions.orig_fileperms; +
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
helly Tue Aug 12 14:56:52 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: - Fix http://bugs.php.net/bug.php?id=45613 http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.12r2=1.20.2.13diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.12 php-src/ext/phar/func_interceptors.c:1.20.2.13 --- php-src/ext/phar/func_interceptors.c:1.20.2.12 Fri Aug 1 13:48:44 2008 +++ php-src/ext/phar/func_interceptors.cTue Aug 12 14:56:52 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.12 2008/08/01 13:48:44 sfox Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.13 2008/08/12 14:56:52 helly Exp $ */ #include phar_internal.h @@ -950,7 +950,9 @@ } } } - efree(entry); + if (entry != filename) { + efree(entry); + } efree(arch); RETURN_FALSE; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
On Tue, Aug 12, 2008 at 16:56, Marcus Boerger [EMAIL PROTECTED] wrote: helly Tue Aug 12 14:56:52 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: - Fix http://bugs.php.net/bug.php?id=45613 MFB? -Hannes -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
Hello Hannes, oops, right, there are three versions to be fixed and my other submit whent to PELC and not to HEAD. marcus Tuesday, August 12, 2008, 5:33:01 PM, you wrote: On Tue, Aug 12, 2008 at 16:56, Marcus Boerger [EMAIL PROTECTED] wrote: helly Tue Aug 12 14:56:52 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: - Fix http://bugs.php.net/bug.php?id=45613 MFB? -Hannes Best regards, Marcus -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
tony2001Fri Jul 11 08:53:43 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: fix function protos and is_link() wrapper http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.9r2=1.20.2.10diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.9 php-src/ext/phar/func_interceptors.c:1.20.2.10 --- php-src/ext/phar/func_interceptors.c:1.20.2.9 Thu Jul 10 16:16:15 2008 +++ php-src/ext/phar/func_interceptors.cFri Jul 11 08:53:43 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.9 2008/07/10 16:16:15 dmitry Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.10 2008/07/11 08:53:43 tony2001 Exp $ */ #include phar_internal.h @@ -883,13 +883,13 @@ PharFileFunction(phar_is_executable, FS_IS_X, orig_is_executable) /* }}} */ -/* {{{ proto bool is_executable(string filename) - Returns true if file is executable */ +/* {{{ proto bool file_exists(string filename) + Returns true if filename exists */ PharFileFunction(phar_file_exists, FS_EXISTS, orig_file_exists) /* }}} */ -/* {{{ proto bool is_executable(string filename) - Returns true if file is executable */ +/* {{{ proto bool is_dir(string filename) + Returns true if file is directory */ PharFileFunction(phar_is_dir, FS_IS_DIR, orig_is_dir) /* }}} */ @@ -1018,7 +1018,7 @@ } } skip_phar: - PHAR_G(orig_file_exists)(INTERNAL_FUNCTION_PARAM_PASSTHRU); + PHAR_G(orig_is_link)(INTERNAL_FUNCTION_PARAM_PASSTHRU); return; } /* }}} */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
tony2001Fri Jul 11 09:11:18 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: drop unused var http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.10r2=1.20.2.11diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.10 php-src/ext/phar/func_interceptors.c:1.20.2.11 --- php-src/ext/phar/func_interceptors.c:1.20.2.10 Fri Jul 11 08:53:43 2008 +++ php-src/ext/phar/func_interceptors.cFri Jul 11 09:11:18 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.10 2008/07/11 08:53:43 tony2001 Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.11 2008/07/11 09:11:18 tony2001 Exp $ */ #include phar_internal.h @@ -1036,8 +1036,6 @@ /* {{{ void phar_intercept_functions(TSRMLS_D) */ void phar_intercept_functions(TSRMLS_D) { - zend_function *orig; - if (!PHAR_G(request_init)) { PHAR_G(cwd) = NULL; PHAR_G(cwd_len) = 0; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c func_interceptors.h phar.c phar_internal.h
dmitry Thu Jul 10 11:36:50 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c func_interceptors.h phar.c phar_internal.h Log: Extensions MUST NOT manipulate with internal functions from EG(function_table) in run-time. It may cause problems with opcode caches and in multi-threaded environment. Now the same functions are overriden at MINIT and call original functions or PHAR ones dependent on flag setting. http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.7r2=1.20.2.8diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.7 php-src/ext/phar/func_interceptors.c:1.20.2.8 --- php-src/ext/phar/func_interceptors.c:1.20.2.7 Sat Jun 21 20:47:35 2008 +++ php-src/ext/phar/func_interceptors.cThu Jul 10 11:36:50 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.7 2008/06/21 20:47:35 sfox Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.8 2008/07/10 11:36:50 dmitry Exp $ */ #include phar_internal.h @@ -29,6 +29,10 @@ int filename_len; zval *zcontext = NULL; + if (!PHAR_G(intercepted)) { + goto skip_phar; + } + if ((PHAR_GLOBALS-phar_fname_map.arBuckets !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) !cached_phars.arBuckets) { goto skip_phar; @@ -98,6 +102,10 @@ long maxlen = PHP_STREAM_COPY_ALL; zval *zcontext = NULL; + if (!PHAR_G(intercepted)) { + goto skip_phar; + } + if ((PHAR_GLOBALS-phar_fname_map.arBuckets !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) !cached_phars.arBuckets) { goto skip_phar; @@ -224,6 +232,10 @@ zval *zcontext = NULL; php_stream *stream; + if (!PHAR_G(intercepted)) { + goto skip_phar; + } + if ((PHAR_GLOBALS-phar_fname_map.arBuckets !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) !cached_phars.arBuckets) { goto skip_phar; @@ -315,6 +327,10 @@ zval *zcontext = NULL; php_stream *stream; + if (!PHAR_G(intercepted)) { + goto skip_phar; + } + if ((PHAR_GLOBALS-phar_fname_map.arBuckets !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) !cached_phars.arBuckets) { /* no need to check, include_path not even specified in fopen/ no active phars */ @@ -792,14 +808,18 @@ #define PharFileFunction(fname, funcnum, orig) \ void fname(INTERNAL_FUNCTION_PARAMETERS) { \ - char *filename; \ - int filename_len; \ - \ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, filename, filename_len) == FAILURE) { \ - return; \ + if (!PHAR_G(intercepted)) { \ + PHAR_G(orig)(INTERNAL_FUNCTION_PARAM_PASSTHRU); \ + } else { \ + char *filename; \ + int filename_len; \ + \ + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, filename, filename_len) == FAILURE) { \ + return; \ + } \ + \ + phar_file_stat(filename, (php_stat_len) filename_len, funcnum, PHAR_G(orig), INTERNAL_FUNCTION_PARAM_PASSTHRU); \ } \ - \ - phar_file_stat(filename, (php_stat_len) filename_len, funcnum, PHAR_G(orig), INTERNAL_FUNCTION_PARAM_PASSTHRU); \ } /* }}} */ @@ -878,6 +898,10 @@ char *filename; int filename_len; + if (!PHAR_G(intercepted)) { + goto skip_phar; + } + if ((PHAR_GLOBALS-phar_fname_map.arBuckets !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) !cached_phars.arBuckets) { goto skip_phar; @@ -939,6 +963,10 @@ char *filename; int filename_len; + if (!PHAR_G(intercepted)) { + goto skip_phar; + } + if ((PHAR_GLOBALS-phar_fname_map.arBuckets !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) !cached_phars.arBuckets) { goto skip_phar; @@ -1006,6 +1034,26 @@ /* }}} */ /* {{{ void phar_intercept_functions(TSRMLS_D) */ +void phar_intercept_functions(TSRMLS_D) +{ + zend_function *orig; + + if (!PHAR_G(request_init)) { + PHAR_G(cwd) = NULL; + PHAR_G(cwd_len) = 0; + } + PHAR_G(intercepted) = 1; +} +/* }}} */ + +/* {{{ void phar_release_functions(TSRMLS_D) */ +void phar_release_functions(TSRMLS_D) +{ + PHAR_G(intercepted) = 0; +} +/* }}} */ + +/* {{{ void phar_intercept_functions_init(TSRMLS_D) */ #define PHAR_INTERCEPT(func) \ PHAR_G(orig_##func) = NULL; \ if (SUCCESS == zend_hash_find(CG(function_table), #func,
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c stream.c util.c
dmitry Thu Jul 10 16:16:15 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c stream.c util.c Log: Fixed wrong refcount updates http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.8r2=1.20.2.9diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.8 php-src/ext/phar/func_interceptors.c:1.20.2.9 --- php-src/ext/phar/func_interceptors.c:1.20.2.8 Thu Jul 10 11:36:50 2008 +++ php-src/ext/phar/func_interceptors.cThu Jul 10 16:16:15 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.8 2008/07/10 11:36:50 dmitry Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.9 2008/07/10 16:16:15 dmitry Exp $ */ #include phar_internal.h @@ -658,7 +658,7 @@ efree(entry); goto stat_entry; } - if (SUCCESS == zend_hash_find((phar-virtual_dirs), entry, entry_len, (void **) data)) { + if (zend_hash_exists((phar-virtual_dirs), entry, entry_len)) { efree(entry); efree(arch); if (IS_EXISTS_CHECK(type)) { @@ -706,7 +706,7 @@ } goto stat_entry; } - if (SUCCESS == zend_hash_find((phar-virtual_dirs), entry + 1, entry_len - 1, (void **) data)) { + if (zend_hash_exists((phar-virtual_dirs), entry + 1, entry_len - 1)) { PHAR_G(cwd) = save; PHAR_G(cwd_len) = save_len; efree(entry); http://cvs.php.net/viewvc.cgi/php-src/ext/phar/stream.c?r1=1.27.2.7r2=1.27.2.8diff_format=u Index: php-src/ext/phar/stream.c diff -u php-src/ext/phar/stream.c:1.27.2.7 php-src/ext/phar/stream.c:1.27.2.8 --- php-src/ext/phar/stream.c:1.27.2.7 Fri Jun 27 01:21:12 2008 +++ php-src/ext/phar/stream.c Thu Jul 10 16:16:15 2008 @@ -608,7 +608,7 @@ php_url_free(resource); return SUCCESS; } - if (SUCCESS == zend_hash_find((phar-virtual_dirs), internal_file, internal_file_len, (void **) entry)) { + if (zend_hash_exists((phar-virtual_dirs), internal_file, internal_file_len)) { phar_dostat(phar, NULL, ssb, 1, phar-alias, phar-alias_len TSRMLS_CC); php_url_free(resource); return SUCCESS; http://cvs.php.net/viewvc.cgi/php-src/ext/phar/util.c?r1=1.55.2.21r2=1.55.2.22diff_format=u Index: php-src/ext/phar/util.c diff -u php-src/ext/phar/util.c:1.55.2.21 php-src/ext/phar/util.c:1.55.2.22 --- php-src/ext/phar/util.c:1.55.2.21 Mon Jun 23 19:18:01 2008 +++ php-src/ext/phar/util.c Thu Jul 10 16:16:15 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: util.c,v 1.55.2.21 2008/06/23 19:18:01 sfox Exp $ */ +/* $Id: util.c,v 1.55.2.22 2008/07/10 16:16:15 dmitry Exp $ */ #include phar_internal.h @@ -1358,7 +1358,7 @@ return entry; } if (dir) { - if (SUCCESS == zend_hash_find(phar-virtual_dirs, path, path_len, (void**)entry)) { + if (zend_hash_exists(phar-virtual_dirs, path, path_len)) { /* a file or directory exists in a sub-directory of this path */ entry = (phar_entry_info *) ecalloc(1, sizeof(phar_entry_info)); /* this next line tells PharFileInfo-__destruct() to efree the filename */ @@ -1958,12 +1958,16 @@ */ static int phar_add_empty(HashTable *ht, char *arKey, uint nKeyLength) /* {{{ */ { - char *dummy = (char*)1; + char **dummy; + if (SUCCESS == zend_hash_find(ht, arKey, nKeyLength, (void **)dummy)) { - dummy++; - } + (*dummy)++; + return SUCCESS; + } else { + char *dummy = (char*)1; - return zend_hash_update(ht, arKey, nKeyLength, (char *) dummy, sizeof(void *), NULL); + return zend_hash_add(ht, arKey, nKeyLength, (char *) dummy, sizeof(void *), NULL); + } } /* }}} */ @@ -1983,19 +1987,15 @@ void phar_delete_virtual_dirs(phar_archive_data *phar, char *filename, int filename_len TSRMLS_DC) /* {{{ */ { char *s = filename; + char **dummy; /* we use filename_len - 1 to avoid adding a virtual dir for empty directory entries */ for (; s - filename filename_len - 1; s++) { if (*s == '/') { - char *dummy; - if (FAILURE == zend_hash_find(phar-virtual_dirs, filename, s - filename, (void
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
sfoxSat Jun 21 20:47:36 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: - Kill a couple of double frees and a memleak @Greg: You may want to run valgrind over the filestat functions before release.. http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.6r2=1.20.2.7diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.6 php-src/ext/phar/func_interceptors.c:1.20.2.7 --- php-src/ext/phar/func_interceptors.c:1.20.2.6 Fri Jun 20 05:42:58 2008 +++ php-src/ext/phar/func_interceptors.cSat Jun 21 20:47:35 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.6 2008/06/20 05:42:58 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.7 2008/06/21 20:47:35 sfox Exp $ */ #include phar_internal.h @@ -685,6 +685,7 @@ efree(entry); efree(save2); if (IS_EXISTS_CHECK(type)) { + efree(arch); RETURN_TRUE; } goto stat_entry; @@ -724,6 +725,7 @@ RETURN_FALSE; } stat_entry: + efree(arch); if (!data-is_dir) { sb.st_size = data-uncompressed_filesize; sb.st_mode = data-flags PHAR_ENT_PERM_MASK; @@ -762,7 +764,6 @@ } statme_baby: - efree(arch); if (!phar-is_writeable) { sb.st_mode = (sb.st_mode 0555) | (sb.st_mode ~0777); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c phar.c phar.phar phar_internal.h phar_object.c util.c
cellog Fri Jun 20 05:42:58 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c phar.c phar.phar phar_internal.h phar_object.c util.c Log: making progress - up to 42/phar vs. 48/disk with these optimizations http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.5r2=1.20.2.6diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.5 php-src/ext/phar/func_interceptors.c:1.20.2.6 --- php-src/ext/phar/func_interceptors.c:1.20.2.5 Wed Jun 18 06:38:47 2008 +++ php-src/ext/phar/func_interceptors.cFri Jun 20 05:42:58 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.5 2008/06/18 06:38:47 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.6 2008/06/20 05:42:58 cellog Exp $ */ #include phar_internal.h @@ -119,7 +119,7 @@ fname_len = strlen(fname); if (SUCCESS == phar_split_fname(fname, fname_len, arch, arch_len, entry, entry_len, 2, 0 TSRMLS_CC)) { char *name; - phar_archive_data **pphar; + phar_archive_data *phar; efree(entry); entry = filename; @@ -133,8 +133,7 @@ } /* retrieving a file defaults to within the current directory, so use this if possible */ - if ((PHAR_GLOBALS-phar_fname_map.arBuckets FAILURE == (zend_hash_find((PHAR_GLOBALS-phar_fname_map), arch, arch_len, (void **) pphar))) -(PHAR_G(manifest_cached) FAILURE == (zend_hash_find(cached_phars, arch, arch_len, (void **) pphar { + if (FAILURE == phar_get_archive(phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) { efree(arch); goto skip_phar; } @@ -150,7 +149,7 @@ } else { entry = phar_fix_filepath(estrndup(entry, entry_len), entry_len, 1 TSRMLS_CC); if (entry[0] == '/') { - if (!zend_hash_exists(((*pphar)-manifest), entry + 1, entry_len - 1)) { + if (!zend_hash_exists((phar-manifest), entry + 1, entry_len - 1)) { /* this file is not in the phar, use the original path */ notfound: efree(arch); @@ -158,7 +157,7 @@ goto skip_phar; } } else { - if (!zend_hash_exists(((*pphar)-manifest), entry, entry_len)) { + if (!zend_hash_exists((phar-manifest), entry, entry_len)) { goto notfound; } } @@ -237,7 +236,7 @@ int arch_len, entry_len, fname_len; php_stream_context *context = NULL; char *name; - phar_archive_data **pphar; + phar_archive_data *phar; fname = zend_get_executed_filename(TSRMLS_C); if (strncasecmp(fname, phar://, 7)) { @@ -253,8 +252,7 @@ /* fopen within phar, if :// is not in the url, then prepend phar://archive/ */ entry_len = filename_len; /* retrieving a file defaults to within the current directory, so use this if possible */ - if ((PHAR_GLOBALS-phar_fname_map.arBuckets FAILURE == (zend_hash_find((PHAR_GLOBALS-phar_fname_map), arch, arch_len, (void **) pphar))) -(PHAR_G(manifest_cached) FAILURE == (zend_hash_find(cached_phars, arch, arch_len, (void **) pphar { + if (FAILURE == phar_get_archive(phar, arch, arch_len, NULL, 0, NULL TSRMLS_CC)) { efree(arch); goto skip_phar; } @@ -269,7 +267,7 @@ } else { entry = phar_fix_filepath(estrndup(entry, entry_len), entry_len, 1 TSRMLS_CC); if (entry[0] == '/') { - if (!zend_hash_exists(((*pphar)-manifest), entry + 1, entry_len - 1)) { + if (!zend_hash_exists((phar-manifest), entry + 1, entry_len - 1)) { /* this file is not in the phar, use the original path */ notfound: efree(entry); @@ -277,7 +275,7 @@ goto skip_phar; }
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
cellog Thu Jun 12 18:46:58 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: ensure we don't try to use an unitialized hash table http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.2r2=1.20.2.3diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.2 php-src/ext/phar/func_interceptors.c:1.20.2.3 --- php-src/ext/phar/func_interceptors.c:1.20.2.2 Thu Jun 12 04:57:24 2008 +++ php-src/ext/phar/func_interceptors.cThu Jun 12 18:46:58 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.2 2008/06/12 04:57:24 cellog Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.3 2008/06/12 18:46:58 cellog Exp $ */ #include phar_internal.h @@ -29,7 +29,7 @@ int filename_len; zval *zcontext = NULL; - if (!zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { + if (!PHAR_GLOBALS-phar_fname_map.arBuckets || !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|z, filename, filename_len, zcontext) == FAILURE) { @@ -97,7 +97,7 @@ long maxlen = PHP_STREAM_COPY_ALL; zval *zcontext = NULL; - if (!zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { + if (!PHAR_GLOBALS-phar_fname_map.arBuckets || !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { goto skip_phar; } /* Parse arguments */ @@ -222,7 +222,7 @@ zval *zcontext = NULL; php_stream *stream; - if (!zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { + if (!PHAR_GLOBALS-phar_fname_map.arBuckets || !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, s|br!, filename, filename_len, use_include_path, zcontext) == FAILURE) { @@ -312,7 +312,7 @@ zval *zcontext = NULL; php_stream *stream; - if (!zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { + if (!PHAR_GLOBALS-phar_fname_map.arBuckets || !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { /* no need to check, include_path not even specified in fopen/ no active phars */ goto skip_phar; } @@ -869,7 +869,7 @@ char *filename; int filename_len; - if (!zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { + if (!PHAR_GLOBALS-phar_fname_map.arBuckets || !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, s, filename, filename_len) == FAILURE) { @@ -929,7 +929,7 @@ char *filename; int filename_len; - if (!zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { + if (!PHAR_GLOBALS-phar_fname_map.arBuckets || !zend_hash_num_elements((PHAR_GLOBALS-phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, s, filename, filename_len) == FAILURE) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/phar func_interceptors.c
cellog Thu Jun 12 04:57:24 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar func_interceptors.c Log: fix error messages http://cvs.php.net/viewvc.cgi/php-src/ext/phar/func_interceptors.c?r1=1.20.2.1r2=1.20.2.2diff_format=u Index: php-src/ext/phar/func_interceptors.c diff -u php-src/ext/phar/func_interceptors.c:1.20.2.1 php-src/ext/phar/func_interceptors.c:1.20.2.2 --- php-src/ext/phar/func_interceptors.c:1.20.2.1 Wed May 14 21:29:50 2008 +++ php-src/ext/phar/func_interceptors.cThu Jun 12 04:57:24 2008 @@ -16,7 +16,7 @@ +--+ */ -/* $Id: func_interceptors.c,v 1.20.2.1 2008/05/14 21:29:50 sfox Exp $ */ +/* $Id: func_interceptors.c,v 1.20.2.2 2008/06/12 04:57:24 cellog Exp $ */ #include phar_internal.h @@ -102,7 +102,7 @@ } /* Parse arguments */ if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, s|br!ll, filename, filename_len, use_include_path, zcontext, offset, maxlen) == FAILURE) { - return; + goto skip_phar; } if (use_include_path || (!IS_ABSOLUTE_PATH(filename, filename_len) !strstr(filename, ://))) { char *arch, *entry, *fname; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php