diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-10-04 16:44:34 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-10-04 16:44:34 +0000 |
commit | 26d64e05874ca62c11f0157a8523dc23d7f5fb53 (patch) | |
tree | 22e15026827229dd6c050d3988fab18090489d2d /packet-isakmp.c | |
parent | 3ef700482615a0d6c75f04f37c62a4e8d3185980 (diff) |
If a payload type doesn't have a dissector function, don't crash by calling
through the null dissector pointer, just dissect it as "Payload".
svn path=/trunk/; revision=8610
Diffstat (limited to 'packet-isakmp.c')
-rw-r--r-- | packet-isakmp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/packet-isakmp.c b/packet-isakmp.c index eb79d348e8..c6089f9945 100644 --- a/packet-isakmp.c +++ b/packet-isakmp.c @@ -4,7 +4,7 @@ * for ISAKMP (RFC 2407) * Brad Robel-Forrest <brad.robel-forrest@watchguard.com> * - * $Id: packet-isakmp.c,v 1.68 2003/09/15 19:08:27 guy Exp $ + * $Id: packet-isakmp.c,v 1.69 2003/10/04 16:44:34 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -330,7 +330,7 @@ dissect_payloads(tvbuff_t *tvb, proto_tree *tree, guint8 initial_payload, if (ntree == NULL) break; if (payload_length >= 4) { /* XXX = > 4? */ - if (payload < NUM_LOAD_TYPES) { + if (payload < NUM_LOAD_TYPES && strfuncs[payload].func != NULL) { (*strfuncs[payload].func)(tvb, offset + 4, payload_length - 4, ntree, -1); } |