malloc failures in java/util/zip/Deflater

Kelly O'Hair Kelly.Ohair at Sun.COM
Thu Jul 9 16:57:38 UTC 2009


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



More information about the core-libs-dev mailing list