Simplify file_exists function

This commit is contained in:
nicolaasuni 2018-09-22 10:37:08 +01:00
parent ac6e92fccc
commit 98799ea173
4 changed files with 11 additions and 20 deletions

View File

@ -1,4 +1,7 @@
6.2.20
6.2.23
- Simplify file_exists function.
6.2.22
- Fix for security vulnerability: Using the phar:// wrapper it was possible to trigger the unserialization of user provided data.
6.2.19

View File

@ -1,6 +1,6 @@
{
"name": "tecnickcom/tcpdf",
"version": "6.2.22",
"version": "6.2.23",
"homepage": "http://www.tcpdf.org/",
"type": "library",
"description": "TCPDF is a PHP class for generating PDF documents and barcodes.",

View File

@ -55,7 +55,7 @@ class TCPDF_STATIC {
* Current TCPDF version.
* @private static
*/
private static $tcpdf_version = '6.2.22';
private static $tcpdf_version = '6.2.23';
/**
* String alias for total number of pages.
@ -1830,20 +1830,8 @@ class TCPDF_STATIC {
* @public static
*/
public static function file_exists($filename) {
if (strpos($filename, '://') > 0) {
$wrappers = stream_get_wrappers();
foreach ($wrappers as $wrapper) {
if (($wrapper === 'http') || ($wrapper === 'https')) {
continue;
}
if (stripos($filename, $wrapper.'://') === 0) {
return false;
}
}
}
if (!@file_exists($filename)) {
// try to encode spaces on filename
$filename = str_replace(' ', '%20', $filename);
if (strpos($filename, '://') && (preg_match('|^https?://|', $filename) !== 1)) {
return false;
}
return @file_exists($filename);
}

View File

@ -1,7 +1,7 @@
<?php
//============================================================+
// File name : tcpdf.php
// Version : 6.2.22
// Version : 6.2.23
// Begin : 2002-08-03
// Last Update : 2018-09-14
// Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
@ -104,7 +104,7 @@
* Tools to encode your unicode fonts are on fonts/utils directory.</p>
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 6.2.22
* @version 6.2.23
*/
// TCPDF configuration
@ -128,7 +128,7 @@ require_once(dirname(__FILE__).'/include/tcpdf_static.php');
* TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>
* @package com.tecnick.tcpdf
* @brief PHP class for generating PDF documents without requiring external extensions.
* @version 6.2.22
* @version 6.2.23
* @author Nicola Asuni - info@tecnick.com
* @IgnoreAnnotation("protected")
* @IgnoreAnnotation("public")