Zero length entry should be allowed. This is a regression, the result of the
un-successful fix for 6728376:-(
The webrev for 6728376 is
http://cr.openjdk.java.net/~sherman/6728376/webrev
We have the same in Inflater as well. I will file a bug for it.
Thanks Mario for catching this.
Sherman
Kelly O'Hair wrote:
I tend to agree.
Shouldn't a zero length entry be treated special, or disallowed?
-kto
David Holmes - Sun Microsystems wrote:
Hi Mario,
I'm not familiar with this particular code but doesn't a value of
this_len==0 imply that there's nothing to do and a whole chunk of
code here can be skipped? Is finding this_len==0 even valid here?
Your patch fixes your problem, but it seems to me the code either
shouldn't get this_len==0 or else should be handling it differently.
Cheers,
David Holmes
Mario Torre said the following on 07/09/09 03:59:
Hi all,
I've found a problem in the Deflater code in OpenJDK, where a length
of zero bytes is passed to malloc.
According to the specs, malloc may return either a valid pointer
that can be passed to free, or NULL, while generally NULL is
considered to be a failure. Linux and Solaris, albeit non specifying
it, return always a valid pointer, as far as I know, but I have a
weird OS here that does indeed return NULL.
I've fixed this issue locally, and thought I could share the patch
with you:
http://cr.openjdk.java.net/~neugens/deflater/webrev.00/
Cheers,
Mario