diff options
author | AndersBroman <anders.broman@ericsson.com> | 2016-12-16 15:13:31 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-12-16 15:38:02 +0000 |
commit | 8a0e86301b39039912a44cacbc786a0c2f041d29 (patch) | |
tree | 6848fc3f1f9c5cdb65deda2469dc0eb3b0214e61 /epan/dissectors | |
parent | 53f2b3710e9b661410dbee248fd4494741d18574 (diff) |
[S1AP] Handle the case where the TransparentContainer is empty.
Change-Id: I6b2333c32119149b32beacc660b48970e0ddbae6
Reviewed-on: https://code.wireshark.org/review/19303
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/asn1/s1ap/s1ap.cnf | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-s1ap.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/epan/dissectors/asn1/s1ap/s1ap.cnf b/epan/dissectors/asn1/s1ap/s1ap.cnf index 28214868a0..0f2c5f5f4e 100644 --- a/epan/dissectors/asn1/s1ap/s1ap.cnf +++ b/epan/dissectors/asn1/s1ap/s1ap.cnf @@ -382,7 +382,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC %(DEFAULT_BODY)s - if (g_s1ap_dissect_container) { + if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) { struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); /* Don't want elements inside container to write to info column */ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE); @@ -441,7 +441,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC %(DEFAULT_BODY)s - if (g_s1ap_dissect_container) { + if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) { struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_ToSourceTransparentContainer); diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index 6b566281ae..adf0ee127d 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -7234,7 +7234,7 @@ dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); - if (g_s1ap_dissect_container) { + if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) { struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); /* Don't want elements inside container to write to info column */ col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE); @@ -7613,7 +7613,7 @@ dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); - if (g_s1ap_dissect_container) { + if ((g_s1ap_dissect_container)&&(parameter_tvb) && (tvb_reported_length(parameter_tvb) > 0)) { struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_ToSourceTransparentContainer); |