ID:               14939
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Feedback
 Bug Type:         Zlib Related
 Operating System: Apache
 PHP Version:      4.1.1
-Assigned To:      
+Assigned To:      sr
 New Comment:

Does the attached patch help?

--- /home/sr/cvs/php/php4/ext/zlib/zlib.c       Thu Mar  7 16:38:26
2002
+++ ext/zlib/zlib.c     Thu Mar  7 23:15:48 2002
@@ -967,7 +967,7 @@
                if(! s2) { if(s1) efree(s1); RETURN_FALSE; }
 
                stream.next_in = (Bytef*) Z_STRVAL_PP(data);
-               stream.avail_in = (uInt) Z_STRLEN_PP(data);
+               stream.avail_in = (uInt) Z_STRLEN_PP(data) + 1; /*
there is room for \0 */
 
                stream.next_out = s2;
                stream.avail_out = (uInt) length;

(If there are broken line breaks and you can't apply it, change the
line stream.avail_in = (uInt) Z_STRLEN_PP(data) to ...(data)+1 in the
gzinflate function).

Please report if it works (and if it doesn't break other things). This
seems to be a rather strange thing in the zlib library ...



Previous Comments:
------------------------------------------------------------------------

[2002-03-07 08:06:33] [EMAIL PROTECTED]

Does this script work if you don't provide a compression level?


-- robin

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

[2002-01-08 21:04:16] [EMAIL PROTECTED]

Receive the following error with only 15 consecutive characters
entered.

Warning: gzinflate: buffer error in
/usr/local/apache/elca_rmg/class.FTemplateExt.php on line 153

What follows is the code updating the SQL files:

$gzsize = strlen($description) + 4;  // added 4 more than req'd
$gzcompress = gzdeflate ($description,6);
$gzcompress = addslashes($gzcompress);  //Reqd for SQL updates

$query = "UPDATE htmlcontent SET record_nbr = \"$record_nbr\",
gzcompress = \"$gzcompress\", gzsize = $gzsize WHERE record_nbr =
\"$record_nbr\"";
                  }
general_update($errno,$errmsg,$rowsaffected, $result, $s_synod_id,
$query);   // UPDATE the record

*******************************************************
Next I attempt to read the record back and unzip gzcompress
Note that $description consists of 20 'a' characters.  Any repetitive
char will do and only 15 to 20 are req'd
*******************************************************

$query = "SELECT * FROM htmlcontent WHERE record_nbr =
\"$record_nbr\"";
       
general_read($errno, $errmsg,$numrows, $result_html, $s_synod_id,
$query);
       
if  ($numrows > 0) {
    if ($row_html = mysql_fetch_array ($result_html)) {
         $content = stripslashes($row_html["gzcompress"]);
         if (strlen($content) > 0) {
******Error occurs on the following instruction*********
            $new = gzinflate($content,$row_html["gzsize"]);
            

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


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

Reply via email to