aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Dupre <ale@FreeBSD.org>2012-06-02 06:39:36 +0000
committerAlex Dupre <ale@FreeBSD.org>2012-06-02 06:39:36 +0000
commit33625b9448420c49028a12fd1ee687a82dc8ef4f (patch)
tree3d28fbdb13cb6a97da7bcf09e1e8b518fc114936
parent521778cdb4f3979ac968a559050af567c46bec3e (diff)
downloadports-33625b9448420c49028a12fd1ee687a82dc8ef4f.tar.gz
ports-33625b9448420c49028a12fd1ee687a82dc8ef4f.zip
Notes
-rw-r--r--archivers/php5-phar/Makefile1
-rw-r--r--archivers/php5-phar/files/patch-tar.c18
2 files changed, 19 insertions, 0 deletions
diff --git a/archivers/php5-phar/Makefile b/archivers/php5-phar/Makefile
index 6587ae6c572e..668bc01f116c 100644
--- a/archivers/php5-phar/Makefile
+++ b/archivers/php5-phar/Makefile
@@ -5,6 +5,7 @@
# $FreeBSD$
#
+PORTREVISION= 1
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php5
diff --git a/archivers/php5-phar/files/patch-tar.c b/archivers/php5-phar/files/patch-tar.c
new file mode 100644
index 000000000000..387a414414f2
--- /dev/null
+++ b/archivers/php5-phar/files/patch-tar.c
@@ -0,0 +1,18 @@
+--- tar.c.orig 2012-06-02 08:29:43.000000000 +0200
++++ tar.c 2012-06-02 08:31:37.000000000 +0200
+@@ -337,6 +337,15 @@
+ last_was_longlink = 1;
+ /* support the ././@LongLink system for storing long filenames */
+ entry.filename_len = entry.uncompressed_filesize;
++ /* Check for overflow - bug 61065 */
++ if (entry.filename_len == UINT_MAX) {
++ if (error) {
++ spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file (invalid entry size)", fname);
++ }
++ php_stream_close(fp);
++ phar_destroy_phar_data(myphar TSRMLS_CC);
++ return FAILURE;
++ }
+ entry.filename = pemalloc(entry.filename_len+1, myphar->is_persistent);
+
+ read = php_stream_read(fp, entry.filename, entry.filename_len);