cvs: php-src(PHP_5_3) /ext/phar tar.c
| From: | Greg Beaver | Date: | Mon, 23 Jun 2008 03:55:50 +0000 |
| Subject: | cvs: php-src(PHP_5_3) /ext/phar tar.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-50581@lists.php.net to get a copy of this message | ||
cellog Mon Jun 23 03:55:50 2008 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/phar tar.c
Log:
fix tar-related failures
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tar.c?r1=1.55.2.15&r2=1.55.2.16&diff_format=u
Index: php-src/ext/phar/tar.c
diff -u php-src/ext/phar/tar.c:1.55.2.15 php-src/ext/phar/tar.c:1.55.2.16
--- php-src/ext/phar/tar.c:1.55.2.15 Sun Jun 22 14:46:10 2008
+++ php-src/ext/phar/tar.c Mon Jun 23 03:55:50 2008
@@ -254,13 +254,7 @@
}
bail:
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
read = php_stream_read(fp, buf, size);
@@ -297,13 +291,7 @@
spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file
(truncated)", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
}
@@ -313,13 +301,7 @@
spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file
(truncated)", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
hdr = (tar_header*) buf;
@@ -364,13 +346,7 @@
}
pefree(entry.filename, myphar->is_persistent);
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
@@ -401,13 +377,7 @@
}
pefree(entry.filename, entry.is_persistent);
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, entry.is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
entry.link = estrdup(hdr->linkname);
@@ -423,13 +393,7 @@
spprintf(error, 4096, "phar error: tar-based phar \"%s\" has invalid metadata
in magic file \"%s\"", fname, entry.filename);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
}
@@ -441,13 +405,7 @@
spprintf(error, 4096, "phar error: tar-based phar \"%s\" has alias that is
larger than 511 bytes, cannot process", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
read = php_stream_read(fp, buf, size);
@@ -464,13 +422,7 @@
spprintf(error, 4096, "phar error: invalid alias \"%s\" in tar-based phar
\"%s\"", buf, fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
actual_alias = pestrndup(buf, size, myphar->is_persistent);
@@ -482,13 +434,7 @@
spprintf(error, 4096, "phar error: Unable to read alias from tar-based phar
\"%s\"", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
}
@@ -501,13 +447,7 @@
spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file
(truncated)", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
}
@@ -517,13 +457,7 @@
spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file
(truncated)", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
} while (read != 0);
@@ -531,13 +465,7 @@
/* ensure signature set */
if (PHAR_G(require_hash) && !myphar->signature) {
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
if (error) {
spprintf(error, 0, "tar-based phar \"%s\" does not have a signature",
fname);
}
@@ -572,13 +500,7 @@
spprintf(error, 4096, "phar error: Unable to add tar-based phar \"%s\" to phar
registry", fname);
}
php_stream_close(fp);
- zend_hash_destroy(&myphar->manifest);
- myphar->manifest.arBuckets = 0;
- zend_hash_destroy(&myphar->mounted_dirs);
- myphar->mounted_dirs.arBuckets = 0;
- zend_hash_destroy(&myphar->virtual_dirs);
- myphar->virtual_dirs.arBuckets = 0;
- pefree(myphar, myphar->is_persistent);
+ phar_destroy_phar_data(myphar TSRMLS_CC);
return FAILURE;
}
myphar = *actual;