php_info_print_table_start();
php_info_print_table_header(2, "phar PHP Archive support", "enabled");
php_info_print_table_row(2, "phar API version", "0.7.1");
- php_info_print_table_row(2, "CVS revision", "$Id$");
+ php_info_print_table_row(2, "CVS revision", "$Revision$");
+ php_info_print_table_row(2, "compressed phar support",
#ifdef HAVE_PHAR_ZLIB
- php_info_print_table_row(2, "compressed phar support", "enabled");
+ "enabled");
#else
- php_info_print_table_row(2, "compressed phar support", "disabled");
+ "disabled");
#endif
php_info_print_table_end();
}
efree(savebuf);
/* check length */
if (actual_length != idata->internal_file->uncompressed_filesize) {
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (filesize mismatch on file \"%s\")", buffer, internal_file);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (filesize mismatch on file \"%s\")", idata->file, internal_file);
efree(internal_file);
efree(idata->file);
efree(idata);
if (!idata->internal_file->crc_checked) {
status = phar_postprocess_file(idata->file, idata->internal_file->uncompressed_filesize, crc32, 0);
if (-1 == status) {
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (crc32 mismatch on file \"%s\")", buffer, internal_file);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (crc32 mismatch on file \"%s\")", idata->file, internal_file);
efree(idata->file);
efree(idata);
efree(internal_file);
return NULL;
}
if (-2 == status) {
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (filesize mismatch on file \"%s\")", buffer, internal_file);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (filesize mismatch on file \"%s\")", idata->file, internal_file);
efree(idata->file);
efree(idata);
efree(internal_file);
if (idata->internal_file->compressed_filesize !=
php_stream_read(fp, idata->file, idata->internal_file->compressed_filesize)) {
php_stream_close(fp);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (actual filesize mismatch on file \"%s\")", idata->file, internal_file);
efree(idata->file);
- buffer = idata->data->file;
efree(idata);
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (actual filesize mismatch on file \"%s\")", buffer, internal_file);
efree(internal_file);
return NULL;
}
if (!idata->internal_file->crc_checked) {
status = phar_postprocess_file(idata->file, idata->internal_file->uncompressed_filesize, 0, 1);
if (-1 == status) {
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (crc32 mismatch on file \"%s\")", idata->file, internal_file);
efree(idata->file);
- buffer = idata->data->file;
efree(idata);
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (crc32 mismatch on file \"%s\")", buffer, internal_file);
efree(internal_file);
return NULL;
}
if (-2 == status) {
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (filesize mismatch on file \"%s\")", idata->file, internal_file);
efree(idata->file);
- buffer = idata->data->file;
efree(idata);
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: internal corruption of phar \"%s\" (filesize mismatch on file \"%s\")", buffer, internal_file);
efree(internal_file);
return NULL;
}
{
phar_internal_file_data *data = (phar_internal_file_data *)stream->abstract;
- efree(data->file);
+ if (data->file) {
+ efree(data->file);
+ }
efree(data);
return 0;
}
{
HashTable *data = (HashTable *)stream->abstract;
- zend_hash_destroy(data);
- FREE_HASHTABLE(data);
+ if (data)
+ {
+ zend_hash_destroy(data);
+ FREE_HASHTABLE(data);
+ stream->abstract = NULL;
+ }
return 0;
}