SUGGESTED FIX
./src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java
old: long time_stamp = MotifDnDConstants.Swapper.getInt(data + 4, eventByteOrder);
fix: long time_stamp = MotifDnDConstants.Swapper.getInt(data + 4, eventByteOrder) & 0xffffffffL;
--
./src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java
old: long time = t;
fix: long time = t & 0xffffffffL;
|
EVALUATION
when MotifDnDConstants.Swapper.getInt() is called from sun.awt.X11.MotifDnDDropTargetProtocol.getData() to read a timestamp, a value (32-bit unsigned int) is initially assigned to 32-bit signed int var. Hence, values that exceed (2^31)-1 are interpreted as negative.
|