diff options
Diffstat (limited to 'libjava/classpath/javax/sound/midi/MetaMessage.java')
-rw-r--r-- | libjava/classpath/javax/sound/midi/MetaMessage.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libjava/classpath/javax/sound/midi/MetaMessage.java b/libjava/classpath/javax/sound/midi/MetaMessage.java index 4d43975c3a4..0aab153cbfa 100644 --- a/libjava/classpath/javax/sound/midi/MetaMessage.java +++ b/libjava/classpath/javax/sound/midi/MetaMessage.java @@ -120,10 +120,12 @@ public class MetaMessage extends MidiMessage // Now compute the length representation long buffer = length & 0x7F; - while ((length >>= 7) > 0) + // Avoid altering length variable; PR42551 + lengthValue = length; + while ((lengthValue >>= 7) > 0) { buffer <<= 8; - buffer |= ((length & 0x7F) | 0x80); + buffer |= ((lengthValue & 0x7F) | 0x80); } // Now store the variable length length value |