RFR: JDK-8068427 Hashtable deserialization reconstitutes table with wrong capacity

Daniel Fuchs daniel.fuchs at oracle.com
Mon Jan 5 14:52:55 UTC 2015


On 04/01/15 18:58, Peter Levart wrote:
> Hi,
>
> While investigating the following issue:
>
>      https://bugs.openjdk.java.net/browse/JDK-8029891
>
> I noticed there's a bug in deserialization code of java.util.Hashtable
> (from day one probably):
>
>      https://bugs.openjdk.java.net/browse/JDK-8068427
>
> The fix is a trivial one-character replacement: '*' -> '/', but I also
> corrected some untruthful comments in the neighbourhood (which might
> have been true from day one, but are not any more):
>
> http://cr.openjdk.java.net/~plevart/jdk9-dev/Hashtable.8068427/webrev.01/

Hi Peter,

I wonder whether there should be a guard against loadFactor being
zero/negative/NaN after line 1173, like in the constructor e.g. as
in lines

  188         if (loadFactor <= 0 || Float.isNaN(loadFactor))
  189             throw new IllegalArgumentException("Illegal Load: 
"+loadFactor);

if only to avoid division by zero.

best regards,

-- daniel


>
>
> Regards, Peter
>




More information about the core-libs-dev mailing list