diff options
author | Michael Tüxen <tuexen@fh-muenster.de> | 2007-12-21 11:06:21 +0000 |
---|---|---|
committer | Michael Tüxen <tuexen@fh-muenster.de> | 2007-12-21 11:06:21 +0000 |
commit | ec06660011a14e42bb4d210f7c259f28ad328401 (patch) | |
tree | 47eb51eba29d8af83d41ca5dc4d6dd00f241cf1f /epan/dissectors/packet-enrp.c | |
parent | 7a76c45b04249b8de4af15615ab3aec66e02fb94 (diff) |
Fix the handling of error parameters. Reported by Holger Eppert.
svn path=/trunk/; revision=23932
Diffstat (limited to 'epan/dissectors/packet-enrp.c')
-rw-r--r-- | epan/dissectors/packet-enrp.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/epan/dissectors/packet-enrp.c b/epan/dissectors/packet-enrp.c index 07fbd43cf5..a9070a4e97 100644 --- a/epan/dissectors/packet-enrp.c +++ b/epan/dissectors/packet-enrp.c @@ -105,7 +105,7 @@ dissect_parameters(tvbuff_t *, proto_tree *); static void dissect_parameter(tvbuff_t *, proto_tree *); static void -dissect_enrp_message(tvbuff_t *, packet_info *, proto_tree *); +dissect_enrp(tvbuff_t *, packet_info *, proto_tree *); #define NETWORK_BYTE_ORDER FALSE #define ADD_PADDING(x) ((((x) + 3) >> 2) << 2) @@ -181,28 +181,28 @@ dissect_error_cause(tvbuff_t *cause_tvb, proto_tree *parameter_tree) switch(code) { case UNRECOGNIZED_PARAMETER_CAUSE_CODE: parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1); - dissect_parameter(parameter_tvb, parameter_tree); + dissect_parameter(parameter_tvb, cause_tree); break; case UNRECONGNIZED_MESSAGE_CAUSE_CODE: message_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1); - dissect_enrp_message(message_tvb, NULL, parameter_tree); + dissect_enrp(message_tvb, NULL, cause_tree); break; break; case INVALID_VALUES: parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1); - dissect_parameter(parameter_tvb, parameter_tree); + dissect_parameter(parameter_tvb, cause_tree); break; case NON_UNIQUE_PE_IDENTIFIER: break; case POOLING_POLICY_INCONSISTENT_CAUSE_CODE: parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1); - dissect_parameter(parameter_tvb, parameter_tree); + dissect_parameter(parameter_tvb, cause_tree); break; case LACK_OF_RESOURCES_CAUSE_CODE: break; case INCONSISTENT_TRANSPORT_TYPE_CAUSE_CODE: parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1); - dissect_parameter(parameter_tvb, parameter_tree); + dissect_parameter(parameter_tvb, cause_tree); break; case INCONSISTENT_DATA_CONTROL_CONFIGURATION_CAUSE_CODE: break; @@ -887,7 +887,7 @@ dissect_enrp_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *enrp guint8 type; type = tvb_get_guint8(message_tvb, MESSAGE_TYPE_OFFSET); - /* pinfo is NULL only if dissect_enrp_message is called from dissect_error cause */ + /* pinfo is NULL only if dissect_enrp_message is called via dissect_error cause */ if (pinfo && (check_col(pinfo->cinfo, COL_INFO))) col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(type, message_type_values, "Unknown ENRP type")); @@ -940,8 +940,8 @@ dissect_enrp(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *tree) proto_item *enrp_item; proto_tree *enrp_tree; - /* make entry in the Protocol column on summary display */ - if (check_col(pinfo->cinfo, COL_PROTOCOL)) + /* pinfo is NULL only if dissect_enrp is called from dissect_error cause */ + if (pinfo && check_col(pinfo->cinfo, COL_PROTOCOL)) col_set_str(pinfo->cinfo, COL_PROTOCOL, "ENRP"); /* In the interest of speed, if "tree" is NULL, don't do any work not |