[erlang-questions] zlib deflate problem

Colm Dougan colm.dougan@REDACTED
Fri May 23 14:29:29 CEST 2008


On Fri, May 23, 2008 at 10:13 AM, Sverker Eriksson
<sverker@REDACTED> wrote:
> Yes, I have tested this myself now with some extra tracing. It is
> absolutely a bug not handling the non fatal error case of Z_BUF_ERROR. A
> fix will be included in R12B-3. I will do some more investigating, but
> as it looks now it will be the patch you suggested, Matthew.

Thanks Sverker and Matthew.

Sverker - if you decide on a different patch then please let me know
as I have already patched my running system with Matthew's patch.

Cheers,
Colm


>
> Matthew Dempsky wrote:
>> Has there been any further internal discussion on this patch?  I just
>> stumbled across this same bug as well.
>>
>> On Wed, May 21, 2008 at 12:55 AM, Sverker Eriksson
>> <sverker@REDACTED> wrote:
>>
>>> Matthew Dempsky wrote:
>>>
>>>> On Tue, May 20, 2008 at 10:43 AM, Colm Dougan <colm.dougan@REDACTED> wrote:
>>>>
>>>>
>>>>> Matthew - I tried your patch and it worked.   I don't see any
>>>>> regression but I haven't done extensive testing. If you think this is
>>>>> the appropriate fix (rather than an exploratory patch) then I can
>>>>> install the patched erlang on my running system and do more testing.
>>>>>
>>>>>
>>>> I think it should be safe for more testing.
>>>>
>>>>
>>>>
>>> Hi guys
>>>
>>> I've been looking at your patch Matthew, trying to understand it to
>>> decide if it should be part of the next OTP release. Do you have any
>>> more arguments why this would be the right way to do it?
>>>
>>>
>>>> --- zlib_drv.c.orig   2008-05-19 19:09:00.000000000 -0700
>>>> +++ zlib_drv.c        2008-05-19 19:09:12.000000000 -0700
>>>> @@ -257,6 +257,10 @@
>>>>               driver_deq(d->port, len);
>>>>               return res;
>>>>           }
>>>> +         if (res == Z_BUF_ERROR) {
>>>> +             res = Z_OK;
>>>> +         }
>>>>           if (res < 0) {
>>>>               return res;
>>>>           }
>>>>
>>> As I understand it, a return of Z_BUF_ERROR from inflate() means
>>> something like "call me again with more buffer space". But in this case
>>> we don't call again.
>>>
>>> Do you have any more light to shed?
>>>
>>> /Sverker, Erlang/OTP Ericsson
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>
>>>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list