Bug #77284 [Com]: base64
| From: | anubas at hotmail dot com | Date: | Tue, 11 Dec 2018 21:53:41 +0000 |
| Subject: | Bug #77284 [Com]: base64 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-218398@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=77284&edit=1
ID: 77284
Comment by: anubas at hotmail dot com
Reported by: anubas at hotmail dot com
Summary: base64
Status: Feedback
Type: Bug
Package: *URL Functions
Operating System: FreeBSD 11.2-RELEASE-p5
PHP Version: 7.3.0
Block user comment: N
Private report: N
New Comment:
I pulled the following out of the system dmesg output:
CPU: Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz (2600.00-MHz K8-class CPU)
Origin="GenuineIntel" Id=0x306e4 Family=0x6 Model=0x3e Stepping=4
Features=0xfa3fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,DTS,MMX,FXSR,SSE,SSE2,SS>
Features2=0xffba2203<SSE3,PCLMULQDQ,SSSE3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND,HV>
AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
AMD Features2=0x1<LAHF>
Structured Extended Features=0x283<FSGSBASE,TSCADJ,SMEP,ERMS>
TSC: P-state invariant
Previous Comments:
------------------------------------------------------------------------
[2018-12-11 21:41:20] nikic@php.net
Base64 encoding has SIMD based implementations in 7.3, so this issue might be architecture
dependent. Can you please tell me which SIMD extensions your CPU supports? In particular AVX2 and
SSSE3 support would be relevant.
------------------------------------------------------------------------
[2018-12-11 21:28:26] anubas at hotmail dot com
The following code:
<?php
$x = 'This is a string';
$y = base64_encode($x);
$z = base64_decode($y);
var_dump($x) . '<br />';
var_dump($y) . '<br />';
var_dump($z) . '<br />';
Produces:
string(16) "This is a string"
string(-6072743447921604100) "
2018/12/11 13:24:05 [error] 91715#100408: *63 FastCGI sent in stderr: "PHP message: PHP Fatal
error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 12374000625787949056
bytes) in [FILE] on line 8" while reading response header from upstream, client: [IP], server:
[SERVER], request: "GET /[FILE] HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000",
host: "[SERVER]"
It appears the output from base64_encode() is invalid.
------------------------------------------------------------------------
[2018-12-11 21:17:03] anubas at hotmail dot com
This worked fine on PHP 7.2.12 on the same server. The only thing that has changed is the version of
PHP that I am using.
------------------------------------------------------------------------
[2018-12-11 20:53:15] danack@php.net
I can't reproduce the bug: https://3v4l.org/omfrZ
This is going to be a problem either with your system, or some other problem we can't help
with.
Please feel free to update this with a reproducible case.
------------------------------------------------------------------------
[2018-12-11 20:44:20] anubas at hotmail dot com
Description:
------------
Problem: $x != $z in the test script below.
Test script:
---------------
<?php
$x = 'This is a string';
$y = base64_encode($x);
$z = base64_decode($y);
if ($x != $z) {
print 'base64 encoding/decoding broken';
}
Expected result:
----------------
$x == $z
Actual result:
--------------
$x != $z
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77284&edit=1