Add another length check.
authorgerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 29 Nov 2004 19:30:12 +0000 (19:30 +0000)
committergerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 29 Nov 2004 19:30:12 +0000 (19:30 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@12621 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-isakmp.c

index 6f483795cb5ff4800ec6d9b01be398705d8d3b14..bb22a740a471031511355eb70fee1657d6962aa4 100644 (file)
@@ -456,6 +456,12 @@ dissect_payloads(tvbuff_t *tvb, proto_tree *tree, guint8 initial_payload,
                              "Payload");
       }
     }
+    else if (payload_length > length) {
+        proto_tree_add_text(ntree, tvb, offset + 4, 0,
+            "Payload (bogus, length is %u, greater than remaining length %d",
+            payload_length, length);
+        return;
+    }
     else {
         proto_tree_add_text(ntree, tvb, offset + 4, 0,
             "Payload (bogus, length is %u, must be at least 4)",