Skip to content

Commit a99602d

Browse files
Merge branch '9.2'
2 parents 98cd09c + 614e84a commit a99602d

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt
2424
### Changed
2525

2626
* [#928](https://github.com/sebastianbergmann/php-code-coverage/pull/928): Avoid unnecessary `is_file()` calls
27+
* [#931](https://github.com/sebastianbergmann/php-code-coverage/pull/931): Use MD5 instead of CRC32 for static analysis cache file identifier
2728

2829
### Fixed
2930

src/StaticAnalysis/CachingFileAnalyser.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
*/
1010
namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
1111

12-
use function crc32;
1312
use function file_get_contents;
1413
use function file_put_contents;
14+
use function implode;
1515
use function is_file;
16+
use function md5;
1617
use function serialize;
1718
use SebastianBergmann\CodeCoverage\Util\Filesystem;
1819
use SebastianBergmann\FileIterator\Facade as FileIteratorFacade;
@@ -144,7 +145,7 @@ private function write(string $filename, array $data): void
144145

145146
private function cacheFile(string $filename): string
146147
{
147-
return $this->directory . DIRECTORY_SEPARATOR . hash('sha256', $filename . crc32(file_get_contents($filename)) . self::cacheVersion());
148+
return $this->directory . DIRECTORY_SEPARATOR . md5($filename . "\0" . file_get_contents($filename) . "\0" . self::cacheVersion());
148149
}
149150

150151
private static function cacheVersion(): string
@@ -153,13 +154,14 @@ private static function cacheVersion(): string
153154
return self::$cacheVersion;
154155
}
155156

156-
$buffer = '';
157+
$buffer = [];
157158

158159
foreach ((new FileIteratorFacade)->getFilesAsArray(__DIR__, '.php') as $file) {
159-
$buffer .= file_get_contents($file);
160+
$buffer[] = $file;
161+
$buffer[] = file_get_contents($file);
160162
}
161163

162-
self::$cacheVersion = (string) crc32($buffer);
164+
self::$cacheVersion = md5(implode("\0", $buffer));
163165

164166
return self::$cacheVersion;
165167
}

0 commit comments

Comments
 (0)