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
              */