`putFields` field gets overwritten for every field
pzygielo opened this issue · comments
orb/orbmain/src/main/java/com/sun/corba/ee/impl/io/OutputStreamHook.java
Lines 145 to 150 in 08d26c2
Thus - if class defines few fields AND in its writeObject
methods registers each one with separate outStream.putFields().put(...)
- like ConcurrentHashMap
(JDK8) does:
https://github.com/openjdk/jdk/blob/9a9add8825a040565051a09010b29b099c2e7d49/jdk/src/share/classes/java/util/concurrent/ConcurrentHashMap.java#L1403-L1405
then only one field is serialized with value, and the remaining are serialized as nulls
in (example for int
):
orb/orbmain/src/main/java/com/sun/corba/ee/impl/io/IIOPOutputStream.java
Lines 668 to 674 in 08d26c2
But due to putFields
being overwritten - fields
at
is new, one-element only map, for every new field put to the stream.