commit | 4d55348382243a0a5f123ae8a0c4c9cfc5c15dd9 | [log] [tgz] |
---|---|---|
author | Charles Chan <rascov@gmail.com> | Mon Apr 02 17:54:03 2018 -0700 |
committer | Charles Chan <rascov@gmail.com> | Tue Apr 03 11:25:24 2018 -0700 |
tree | 1b95d6c9f8da8bc1d61aaa06b774ab3e146ad691 | |
parent | 05acc713ac764f932179172528665c5ee6efe99c [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 1c84324..b328458 100644 --- a/utils/misc/src/main/java/org/onlab/packet/TCP.java +++ b/utils/misc/src/main/java/org/onlab/packet/TCP.java
@@ -449,7 +449,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); }