diff --git a/scapy/base_classes.py b/scapy/base_classes.py index 1d499653845ca6c2eddd629b584630785f3185ec..83f8bff18b69f1c188861bc17e0a2d03c593b7c9 100644 --- a/scapy/base_classes.py +++ b/scapy/base_classes.py @@ -210,7 +210,12 @@ class Packet_metaclass(type): def __call__(cls, *args, **kargs): if "dispatch_hook" in cls.__dict__: - cls = cls.dispatch_hook(*args, **kargs) + try: + cls = cls.dispatch_hook(*args, **kargs) + except: + if conf.debug_dissector: + raise + cls = Raw i = cls.__new__(cls, cls.__name__, cls.__bases__, cls.__dict__) i.__init__(*args, **kargs) return i