svn: /php/php-src/ branches/PHP_5_3/ext/phar/phar_object.c branches/PHP_5_4/ext/phar/phar_object.c trunk/ext/phar/phar_object.c

From: Date: Tue, 09 Aug 2011 14:11:56 +0000
Subject: svn: /php/php-src/ branches/PHP_5_3/ext/phar/phar_object.c branches/PHP_5_4/ext/phar/phar_object.c trunk/ext/phar/phar_object.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-65804@lists.php.net to get a copy of this message
iliaa Tue, 09 Aug 2011 14:11:56 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=314653 Log: Make static analyzers happy Changed paths: U php/php-src/branches/PHP_5_3/ext/phar/phar_object.c U php/php-src/branches/PHP_5_4/ext/phar/phar_object.c U php/php-src/trunk/ext/phar/phar_object.c Modified: php/php-src/branches/PHP_5_3/ext/phar/phar_object.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/phar/phar_object.c 2011-08-09 13:19:21 UTC (rev 314652) +++ php/php-src/branches/PHP_5_3/ext/phar/phar_object.c 2011-08-09 14:11:56 UTC (rev 314653) @@ -1664,11 +1664,14 @@ } test = expand_filepath(fname, NULL TSRMLS_CC); + efree(fname); if (test) { - efree(fname); fname = test; fname_len = strlen(fname); + } else { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + return ZEND_HASH_APPLY_STOP; } save = fname; @@ -1694,6 +1697,11 @@ #else fname = expand_filepath(intern->file_name, NULL TSRMLS_CC); #endif + if (!fname) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + return ZEND_HASH_APPLY_STOP; + } + fname_len = strlen(fname); save = fname; goto phar_spl_fileinfo; @@ -1711,6 +1719,14 @@ phar_spl_fileinfo: if (base_len) { temp = expand_filepath(base, NULL TSRMLS_CC); + if (!temp) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + if (save) { + efree(save); + } + return ZEND_HASH_APPLY_STOP; + } + base = temp; base_len = strlen(base); @@ -4083,7 +4099,10 @@ if (phar_obj->arc.archive->fp && !phar_obj->arc.archive->is_brandnew && !(stub->flags & PHAR_ENT_COMPRESSION_MASK)) { fp = phar_obj->arc.archive->fp; } else { - fp = php_stream_open_wrapper(phar_obj->arc.archive->fname, "rb", 0, NULL); + if (!(fp = php_stream_open_wrapper(phar_obj->arc.archive->fname, "rb", 0, NULL))) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "phar error: unable to open phar \"%s\"", phar_obj->arc.archive->fname); + return; + } if (stub->flags & PHAR_ENT_COMPRESSION_MASK) { char *filter_name; Modified: php/php-src/branches/PHP_5_4/ext/phar/phar_object.c =================================================================== --- php/php-src/branches/PHP_5_4/ext/phar/phar_object.c 2011-08-09 13:19:21 UTC (rev 314652) +++ php/php-src/branches/PHP_5_4/ext/phar/phar_object.c 2011-08-09 14:11:56 UTC (rev 314653) @@ -1666,11 +1666,14 @@ } test = expand_filepath(fname, NULL TSRMLS_CC); + efree(fname); if (test) { - efree(fname); fname = test; fname_len = strlen(fname); + } else { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + return ZEND_HASH_APPLY_STOP; } save = fname; @@ -1696,6 +1699,11 @@ #else fname = expand_filepath(intern->file_name, NULL TSRMLS_CC); #endif + if (!fname) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + return ZEND_HASH_APPLY_STOP; + } + fname_len = strlen(fname); save = fname; goto phar_spl_fileinfo; @@ -1713,6 +1721,14 @@ phar_spl_fileinfo: if (base_len) { temp = expand_filepath(base, NULL TSRMLS_CC); + if (!temp) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + if (save) { + efree(save); + } + return ZEND_HASH_APPLY_STOP; + } + base = temp; base_len = strlen(base); @@ -4086,7 +4102,10 @@ if (phar_obj->arc.archive->fp && !phar_obj->arc.archive->is_brandnew && !(stub->flags & PHAR_ENT_COMPRESSION_MASK)) { fp = phar_obj->arc.archive->fp; } else { - fp = php_stream_open_wrapper(phar_obj->arc.archive->fname, "rb", 0, NULL); + if (!(fp = php_stream_open_wrapper(phar_obj->arc.archive->fname, "rb", 0, NULL))) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "phar error: unable to open phar \"%s\"", phar_obj->arc.archive->fname); + return; + } if (stub->flags & PHAR_ENT_COMPRESSION_MASK) { char *filter_name; Modified: php/php-src/trunk/ext/phar/phar_object.c =================================================================== --- php/php-src/trunk/ext/phar/phar_object.c 2011-08-09 13:19:21 UTC (rev 314652) +++ php/php-src/trunk/ext/phar/phar_object.c 2011-08-09 14:11:56 UTC (rev 314653) @@ -1666,11 +1666,14 @@ } test = expand_filepath(fname, NULL TSRMLS_CC); + efree(fname); if (test) { - efree(fname); fname = test; fname_len = strlen(fname); + } else { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + return ZEND_HASH_APPLY_STOP; } save = fname; @@ -1696,6 +1699,11 @@ #else fname = expand_filepath(intern->file_name, NULL TSRMLS_CC); #endif + if (!fname) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + return ZEND_HASH_APPLY_STOP; + } + fname_len = strlen(fname); save = fname; goto phar_spl_fileinfo; @@ -1713,6 +1721,14 @@ phar_spl_fileinfo: if (base_len) { temp = expand_filepath(base, NULL TSRMLS_CC); + if (!temp) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Could not resolve file path"); + if (save) { + efree(save); + } + return ZEND_HASH_APPLY_STOP; + } + base = temp; base_len = strlen(base); @@ -4086,7 +4102,10 @@ if (phar_obj->arc.archive->fp && !phar_obj->arc.archive->is_brandnew && !(stub->flags & PHAR_ENT_COMPRESSION_MASK)) { fp = phar_obj->arc.archive->fp; } else { - fp = php_stream_open_wrapper(phar_obj->arc.archive->fname, "rb", 0, NULL); + if (!(fp = php_stream_open_wrapper(phar_obj->arc.archive->fname, "rb", 0, NULL))) { + zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "phar error: unable to open phar \"%s\"", phar_obj->arc.archive->fname); + return; + } if (stub->flags & PHAR_ENT_COMPRESSION_MASK) { char *filter_name;

« previous php.cvs (#65804) next »