Mercurial > hg > cmmr2012-drupal-site
diff vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php @ 2:5311817fb629
Theme updates
author | Chris Cannam |
---|---|
date | Tue, 10 Jul 2018 13:19:18 +0000 |
parents | c75dbcec494b |
children | a9cd425dd02b |
line wrap: on
line diff
--- a/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php Thu Jul 05 15:32:06 2018 +0100 +++ b/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php Tue Jul 10 13:19:18 2018 +0000 @@ -5,7 +5,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises + * Copyright (c) 2015 - 2018 Paragon Initiative Enterprises * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -46,7 +46,9 @@ */ function random_bytes($bytes) { + /** @var resource $fp */ static $fp = null; + /** * This block should only be run once */ @@ -55,8 +57,10 @@ * We use /dev/urandom if it is a char device. * We never fall back to /dev/random */ + /** @var resource|bool $fp */ $fp = fopen('/dev/urandom', 'rb'); - if (!empty($fp)) { + if (is_resource($fp)) { + /** @var array<string, int> $st */ $st = fstat($fp); if (($st['mode'] & 0170000) !== 020000) { fclose($fp); @@ -64,7 +68,7 @@ } } - if (!empty($fp)) { + if (is_resource($fp)) { /** * stream_set_read_buffer() does not exist in HHVM * @@ -83,6 +87,7 @@ } try { + /** @var int $bytes */ $bytes = RandomCompat_intval($bytes); } catch (TypeError $ex) { throw new TypeError( @@ -103,7 +108,7 @@ * if (empty($fp)) line is logic that should only be run once per * page load. */ - if (!empty($fp)) { + if (is_resource($fp)) { /** * @var int */