Bug #77284 [Com]: base64

From: 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

« previous php.bugs (#218398) next »