Bug #71200 [Fbk->Opn]: incorrect getrandom checks
[email protected] ("crrodriguez at opensuse dot org")
| Newsgroups | php.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at https://bugs.php.net/bug.php?id=71200&edit=1 ID: 71200 User updated by: crrodriguez at opensuse dot org Reported by: crrodriguez at opensuse dot org Summary: incorrect getrandom checks -Status: Feedback +Status: Open Type: Bug Package: *Compile Issues Operating System: linux PHP Version: master-Git-2015-12-22 (Git) Block user comment: N Private report: N New Comment: @ab No I do not mean getrandom() may be missing. There is no getrandom declaration to check for, glibc does not (yet) provide a wrapper to this system call and it is not clear if it ever will.. even if it did, it might end with different semantics or parameters..but this is a moot point as the code does not use it but the syscall interface instead, which case you need to test if you are in linux and if the SYS_getrandom macro is defined. Previous Comments: ------------------------------------------------------------------------ [2015-12-23 15:59:28] [email protected] Thanks for the report. HAVE_DECL_GETRANDOM is generated by autotools, please see ext/standard/config.m4 . Do you mean the getrandom declaration could be missing, but the syscall still available? If so, probably better to check both. Thanks. ------------------------------------------------------------------------ [2015-12-23 00:47:40] crrodriguez at opensuse dot org Description: ------------ getrandom() system call is not used on linux due to incorrect ifdef's. HAVE_DECL_GETRANDOM is always undefined as there is no declaration of getrandom on the C library or kernel headers and the code that follows does not use it, only the raw syscall interface. Test script: --------------- strace -egetrandom php -r 'random_bytes(1);' Expected result: ---------------- getrandom("\221", 1, 0) = 1 Actual result: -------------- (nothing, getrandom unused) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=71200&edit=1