Bug #77080 [Opn->Dup]: Deflate not working

From: Date: Tue, 22 Sep 2020 14:05:20 +0000
Subject: Bug #77080 [Opn->Dup]: Deflate not working
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229136@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77080&edit=1

 ID:                 77080
 Updated by:         cmb@php.net
 Reported by:        huisman at comandi dot nl
 Summary:            Deflate not working
-Status:             Open
+Status:             Duplicate
 Type:               Bug
-Package:            Zlib related
+Package:            Streams related
 Operating System:   Ubuntu 18.04.1 LTS
 PHP Version:        PHP 7.2.11
-Assigned To:        
+Assigned To:        cmb
 Block user comment: N
 Private report:     N

 New Comment:

This appears to be a duplicate of bug #77069; I've just added a
test case to the respective PR[1].

[1] <https://github.com/php/php-src/pull/6001/commits/433195d6231ebef618bfbd1060cff9bb9e469996>


Previous Comments:
------------------------------------------------------------------------
[2019-12-12 13:34:25] martins256 at gmail dot com

The zlib.deflate stream filter is working as expected in these versions: 5.5.21 - 5.5.38, 5.6.5 -
7.1.33

But in these versions the zlib.deflate stream filter truncates data.
5.2.0 - 5.5.20, 5.6.0 - 5.6.4, 7.2.0 - 7.4.0

Here is another test code version:

$string = str_repeat("0123456789", 100);
$resource = fopen('data://text/plain,' . $string,'r');
stream_filter_append($resource, 'zlib.deflate', STREAM_FILTER_READ, 6);
$compressed = stream_get_contents($resource);
echo strlen($compressed);

Results visible here:
https://3v4l.org/OOjF4

------------------------------------------------------------------------
[2018-10-30 08:57:56] huisman at comandi dot nl

Strange, when ran on PHP 7.2.11-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 25 2018 06:44:08) (
NTS ) in a script it's not working.

The following zlib configuration is set:

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.11
Linked Version => 1.2.11

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

------------------------------------------------------------------------
[2018-10-30 08:56:31] huisman at comandi dot nl

Strange, ran on PHP 7.2.11-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 25 2018 06:44:08) ( NTS
) in a script it's working.

The following zlib configuration is set:

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.11
Linked Version => 1.2.11

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

------------------------------------------------------------------------
[2018-10-29 22:39:53] cmb@php.net

Works here: <https://3v4l.org/RRJ8b>.

------------------------------------------------------------------------
[2018-10-29 14:27:42] huisman at comandi dot nl

Description:
------------
stream_filter_append in combination with zlib.deflate no longer works as
expected in PHP 7.2 and produces an empty string instead of the expected compressed string. (see
test script).

Test script:
---------------
<?php

$stream = fopen('php://temp', 'w+');

fwrite($stream, 'something something');

stream_filter_append($stream, 'zlib.deflate', STREAM_FILTER_READ, ['level' =>
6]);

rewind($stream);

$contents = fread($stream, 1024);


Expected result:
----------------
A compressed string

Actual result:
--------------
An empty string


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=77080&edit=1


Thread (6 messages)

« previous php.bugs (#229136) next »