commit | c985994ac861b8215bbfb1fc08c090bfb83adcaf | [log] [tgz] |
---|---|---|
author | Charles Chan <rascov@gmail.com> | Mon Apr 02 17:54:03 2018 -0700 |
committer | Thomas Vachuska <tom@opennetworking.org> | Tue Apr 03 18:28:38 2018 +0000 |
tree | 7923d6837a0e28f27a3972cfeb7b938d711985fa | |
parent | cde7e47f9fdbf0db4100e35041098aabcea69fe5 [diff] |
Fix deserialization exception caused by miscalculation of TCP offset Change-Id: Ibe6be12f850463fc0c3029d00b8dca20982bca75
diff --git a/utils/misc/src/main/java/org/onlab/packet/TCP.java b/utils/misc/src/main/java/org/onlab/packet/TCP.java index 735a415..410be78 100644 --- a/utils/misc/src/main/java/org/onlab/packet/TCP.java +++ b/utils/misc/src/main/java/org/onlab/packet/TCP.java
@@ -416,7 +416,7 @@ tcp.urgentPointer = bb.getShort(); if (tcp.dataOffset > 5) { int optLength = (tcp.dataOffset << 2) - 20; - checkHeaderLength(length, TCP_HEADER_LENGTH + tcp.dataOffset); + checkHeaderLength(length, TCP_HEADER_LENGTH + optLength); tcp.options = new byte[optLength]; bb.get(tcp.options, 0, optLength); }