malloc failures in java/util/zip/Deflater

Xueming Shen Xueming.Shen at Sun.COM
Thu Jul 9 17:41:53 UTC 2009

Zero length entry should be allowed. This is a regression, the result of the
un-successful fix for 6728376:-(

The webrev for 6728376 is

We have the same in Inflater as well. I will file a bug for it.

Thanks Mario for catching this.


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:
>>> Cheers,
>>> Mario

More information about the core-libs-dev mailing list