X-Git-Url: https://git.p6c8.net/jirafeau.git/blobdiff_plain/ecfc8a70b8f33915e53ef2fc9ab14e77daa96e72..26d33edc6e08cdf1ce5c9afa96ceb98e906e916f:/lib/functions.php?ds=sidebyside diff --git a/lib/functions.php b/lib/functions.php index 4e22796..5a5316c 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -343,22 +343,30 @@ function jirafeau_hash_file($method, $file_path) */ function jirafeau_md5_outside($file_path) { - $size = filesize($file_path); - if ($size === false) { - $size = 0; - } + $out = false; $handle = fopen($file_path, "r"); if ($handle === false) { return false; } + $size = filesize($file_path); + if ($size === false) { + goto err; + } $first = fread($handle, 64); if ($first === false) { - return false; + goto err; + } + if (fseek($handle, $size < 64 ? 0 : $size - 64) == -1) { + goto err; } - fseek($handle, $size < 64 ? 0 : $size - 64); $last = fread($handle, 64); + if ($last === false) { + goto err; + } + $out = md5($first . $last . $size); + err: fclose($handle); - return md5($first . $last . $size); + return $out; } /**