Skip to content

Commit

Permalink
Fix type assertions on Travis CI that I cannot reproduce locally.
Browse files Browse the repository at this point in the history
  • Loading branch information
paragonie-security committed Jul 4, 2018
1 parent 7fd9ad9 commit a4b76bd
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
23 changes: 18 additions & 5 deletions lib/byte_safe_strings.php
Expand Up @@ -94,7 +94,7 @@ function RandomCompat_strlen($binary_string)
*
* @param string $binary_string
* @param int $start
* @param int $length (optional)
* @param int|null $length (optional)
*
* @throws TypeError
*
Expand All @@ -119,6 +119,7 @@ function RandomCompat_substr($binary_string, $start, $length = null)
* mb_substr($str, 0, NULL, '8bit') returns an empty string on
* PHP 5.3, so we have to find the length ourselves.
*/
/** @var int $length */
$length = RandomCompat_strlen($binary_string) - $start;
} elseif (!is_int($length)) {
throw new TypeError(
Expand All @@ -134,7 +135,12 @@ function RandomCompat_substr($binary_string, $start, $length = null)
return '';
}

return (string) mb_substr($binary_string, $start, $length, '8bit');
return (string) mb_substr(
(string) $binary_string,
(int) $start,
(int) $length,
'8bit'
);
}

} else {
Expand All @@ -146,7 +152,7 @@ function RandomCompat_substr($binary_string, $start, $length = null)
*
* @param string $binary_string
* @param int $start
* @param int $length (optional)
* @param int|null $length (optional)
*
* @throws TypeError
*
Expand All @@ -173,10 +179,17 @@ function RandomCompat_substr($binary_string, $start, $length = null)
);
}

return (string) substr($binary_string, $start, $length);
return (string) substr(
(string )$binary_string,
(int) $start,
(int) $length
);
}

return (string) substr($binary_string, $start);
return (string) substr(
(string) $binary_string,
(int) $start
);
}
}
}
5 changes: 3 additions & 2 deletions lib/cast_to_int.php
Expand Up @@ -53,12 +53,13 @@ function RandomCompat_intval($number, $fail_open = false)
/** @psalm-suppress InvalidOperand */
$number += 0;
}
/** @var int|float $number */

if (
is_float($number)
&&
&&
$number > ~PHP_INT_MAX
&&
&&
$number < PHP_INT_MAX
) {
$number = (int) $number;
Expand Down

0 comments on commit a4b76bd

Please sign in to comment.