summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ryu/lib/packet/icmp.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/ryu/lib/packet/icmp.py b/ryu/lib/packet/icmp.py
index 57b153c4..1a6cd76f 100644
--- a/ryu/lib/packet/icmp.py
+++ b/ryu/lib/packet/icmp.py
@@ -214,7 +214,12 @@ class dest_unreach(stringify.StringifyMixin):
def __init__(self, data_len=0, mtu=0, data=None):
super(dest_unreach, self).__init__()
- self.data_len = data_len
+
+ if ((data_len >= 0) and (data_len <= 255)):
+ self.data_len = data_len
+ else:
+ raise ValueError('Specified data length (%d) is invalid.' % data_len)
+
self.mtu = mtu
self.data = data
@@ -273,7 +278,11 @@ class TimeExceeded(stringify.StringifyMixin):
_MIN_LEN = struct.calcsize(_PACK_STR)
def __init__(self, data_len=0, data=None):
- self.data_len = data_len
+ if ((data_len >= 0) and (data_len <= 255)):
+ self.data_len = data_len
+ else:
+ raise ValueError('Specified data length (%d) is invalid.' % data_len)
+
self.data = data
@classmethod