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);
             }