aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/sound/midi/MetaMessage.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/sound/midi/MetaMessage.java')
-rw-r--r--libjava/classpath/javax/sound/midi/MetaMessage.java6
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