aboutsummaryrefslogtreecommitdiff
path: root/mavlink-library
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-03-20 13:51:48 +0100
committerJakob Odersky <jodersky@gmail.com>2015-03-20 13:51:48 +0100
commit31b9e411fd5b8be0dcf7babea6cb39bb26989e6e (patch)
tree6b36b2b7618ecdcd2b771ada80e0c8a499207de2 /mavlink-library
parent5f97b8128adf7d0bdcc9da0d7ead2d7faedc0abc (diff)
downloadsbt-mavlink-31b9e411fd5b8be0dcf7babea6cb39bb26989e6e.tar.gz
sbt-mavlink-31b9e411fd5b8be0dcf7babea6cb39bb26989e6e.tar.bz2
sbt-mavlink-31b9e411fd5b8be0dcf7babea6cb39bb26989e6e.zip
fix overflow errors
Diffstat (limited to 'mavlink-library')
-rw-r--r--mavlink-library/src/main/twirl/org/mavlink/Parser.scala.txt4
-rw-r--r--mavlink-library/src/main/twirl/org/mavlink/messages/messages.scala.txt4
2 files changed, 4 insertions, 4 deletions
diff --git a/mavlink-library/src/main/twirl/org/mavlink/Parser.scala.txt b/mavlink-library/src/main/twirl/org/mavlink/Parser.scala.txt
index 48af210..97068e6 100644
--- a/mavlink-library/src/main/twirl/org/mavlink/Parser.scala.txt
+++ b/mavlink-library/src/main/twirl/org/mavlink/Parser.scala.txt
@@ -101,10 +101,10 @@ class Parser(receiver: Packet => Unit, error: Parser.Errors.Error => Unit = _ =>
inbound.payload += c
inbound.currentLength += 1
inbound.crc = inbound.crc.accumulate(c)
- if(inbound.currentLength >= Packet.MaxPayloadLength) {
+ if(inbound.currentLength > Packet.MaxPayloadLength) {
state = Idle
error(Errors.OverflowError)
- } else if (inbound.currentLength>= inbound.length) {
+ } else if (inbound.currentLength >= inbound.length) {
state = GotPayload
}
diff --git a/mavlink-library/src/main/twirl/org/mavlink/messages/messages.scala.txt b/mavlink-library/src/main/twirl/org/mavlink/messages/messages.scala.txt
index e973547..939c1d1 100644
--- a/mavlink-library/src/main/twirl/org/mavlink/messages/messages.scala.txt
+++ b/mavlink-library/src/main/twirl/org/mavlink/messages/messages.scala.txt
@@ -28,7 +28,7 @@ import java.nio.charset.Charset
case FloatType(4) => {@{buffer}.getFloat()}
case FloatType(8) => {@{buffer}.getDouble()}
case StringType(maxLength) =>{{
- val bytes = Array[Byte](@maxLength)
+ val bytes = new Array[Byte](@maxLength)
@{buffer}.get(bytes, 0, @maxLength)
val length = bytes.indexOf(0) match {
case -1 => @maxLength
@@ -49,7 +49,7 @@ import java.nio.charset.Charset
{
val bytes = @{data}.getBytes(Charset.forName("UTF-8"))
val endPosition = @{buffer}.position + @maxLength
- @{buffer}.put(bytes, 0, math.max(bytes.length, @maxLength))
+ @{buffer}.put(bytes, 0, math.min(bytes.length, @maxLength))
while (@{buffer}.position < endPosition) {
@{buffer}.put(0: Byte)
}