mirror of
https://github.com/php/php-src.git
synced 2026-04-23 07:58:20 +02:00
Fix bug #75409
This commit is contained in:
@@ -17,6 +17,8 @@ PHP NEWS
|
||||
- Standard:
|
||||
. Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP
|
||||
segment fault). (Nikita)
|
||||
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
|
||||
that getrandom() is missing). (sarciszewski)
|
||||
|
||||
- Zip:
|
||||
. Fixed bug #75540 (Segfault with libzip 1.3.1). (Remi)
|
||||
|
||||
@@ -122,16 +122,10 @@ PHPAPI int php_random_bytes(void *bytes, size_t size, zend_bool should_throw)
|
||||
} else if (errno == EINTR || errno == EAGAIN) {
|
||||
/* Try again */
|
||||
continue;
|
||||
} else {
|
||||
/* If the syscall fails, fall back to reading from /dev/urandom */
|
||||
break;
|
||||
}
|
||||
/*
|
||||
If the syscall fails, we are doomed. The loop that calls
|
||||
php_random_bytes should be terminated by the exception instead
|
||||
of proceeding to demand more entropy.
|
||||
*/
|
||||
if (should_throw) {
|
||||
zend_throw_exception(zend_ce_exception, "Could not gather sufficient random data", errno);
|
||||
}
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
read_bytes += (size_t) n;
|
||||
|
||||
Reference in New Issue
Block a user