Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
<?php

> declare(strict_types=1); namespace MaxMind\Db\Reader; >
class Util {
< public static function read($stream, $offset, $numberOfBytes)
> /** > * @param resource $stream > */ > public static function read($stream, int $offset, int $numberOfBytes): string
{ if ($numberOfBytes === 0) { return ''; } if (fseek($stream, $offset) === 0) { $value = fread($stream, $numberOfBytes); // We check that the number of bytes read is equal to the number // asked for. We use ftell as getting the length of $value is // much slower.
< if (ftell($stream) - $offset === $numberOfBytes) {
> if ($value !== false && ftell($stream) - $offset === $numberOfBytes) {
return $value; } } throw new InvalidDatabaseException( 'The MaxMind DB file contains bad data' ); } }