From b801ea0191f775a4e260271e6e7efa7fb7cd8c0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= Date: Tue, 17 Jan 2023 13:42:17 +0000 Subject: [PATCH] MinGW: Fix -Wclobbered --- epan/dissectors/asn1/ngap/ngap.cnf | 4 ++++ epan/dissectors/asn1/s1ap/s1ap.cnf | 38 +++++++++++++++++++++--------- epan/dissectors/packet-ngap.c | 4 ++++ epan/dissectors/packet-s1ap.c | 38 +++++++++++++++++++++--------- 4 files changed, 62 insertions(+), 22 deletions(-) diff --git a/epan/dissectors/asn1/ngap/ngap.cnf b/epan/dissectors/asn1/ngap/ngap.cnf index e647951a2a..f5e4b99d0d 100644 --- a/epan/dissectors/asn1/ngap/ngap.cnf +++ b/epan/dissectors/asn1/ngap/ngap.cnf @@ -265,6 +265,7 @@ UE-NGAP-IDs/aMF-UE-NGAP-ID ABBREV=AMF_UE_NGAP_ID } else { if (nas_5gs_handle) { proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NAS_PDU); + volatile int saved_offset; TRY { call_dissector(nas_5gs_handle, parameter_tvb, actx->pinfo, subtree); } @@ -272,6 +273,7 @@ UE-NGAP-IDs/aMF-UE-NGAP-ID ABBREV=AMF_UE_NGAP_ID show_exception(tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } } } @@ -1024,6 +1026,7 @@ BluetoothName TYPE=FT_STRING DISPLAY = BASE_NONE %(DEFAULT_BODY)s if (cov_enh_level_tvb && ngap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_ngap_CoverageEnhancementLevel); + volatile int saved_offset = offset; if ((ngap_is_nbiot_ue(actx->pinfo) && (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_AUTOMATIC)) || (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_NBIOT)) { TRY { @@ -1042,6 +1045,7 @@ BluetoothName TYPE=FT_STRING DISPLAY = BASE_NONE } ENDTRY; } + offset = saved_offset; } #.TYPE_ATTR diff --git a/epan/dissectors/asn1/s1ap/s1ap.cnf b/epan/dissectors/asn1/s1ap/s1ap.cnf index eefa197921..fb24693782 100644 --- a/epan/dissectors/asn1/s1ap/s1ap.cnf +++ b/epan/dissectors/asn1/s1ap/s1ap.cnf @@ -413,7 +413,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; - offset = _offset; + offset = _offset; @@ -493,8 +493,8 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC } #.FN_BODY TargeteNB-ToSourceeNB-TransparentContainer - struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); - volatile guint32 _offset; + struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); + volatile guint32 _offset; s1ap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER; _offset = offset; @@ -506,7 +506,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; - offset = _offset; + offset = _offset; #.FN_BODY Target-ToSource-TransparentContainer VAL_PTR = ¶meter_tvb # I think the message is "directly encoded" into the octet string(no "double encoding") @@ -616,6 +616,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC if (g_s1ap_dissect_container) { struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RRCContainer); + volatile int saved_offset = offset; switch(s1ap_data->transparent_container_type){ case SOURCE_TO_TARGET_TRANSPARENT_CONTAINER: @@ -652,6 +653,7 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC default: break; } + offset = saved_offset; } #.FN_BODY UE-HistoryInformationFromTheUE VAL_PTR = ¶meter_tvb @@ -825,6 +827,7 @@ if (gcsna_handle) { if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_CELevel); + volatile int saved_offset = offset; if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) || (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) { TRY { @@ -843,6 +846,7 @@ if (gcsna_handle) { } ENDTRY; } + offset = saved_offset; } #.FN_BODY UE-RLF-Report-Container VAL_PTR = ¶meter_tvb @@ -856,13 +860,15 @@ if (gcsna_handle) { if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container); - TRY { - dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); - } - CATCH_BOUNDS_ERRORS { - show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); - } - ENDTRY; + volatile int saved_offset = offset; + TRY { + dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + CATCH_BOUNDS_ERRORS { + show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); + } + ENDTRY; + offset = saved_offset; } #.FN_BODY UE-RLF-Report-Container-for-extended-bands VAL_PTR = ¶meter_tvb @@ -876,6 +882,7 @@ if (gcsna_handle) { if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container_for_extended_bands); + volatile int saved_offset = offset; TRY { dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -883,6 +890,7 @@ if (gcsna_handle) { show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } #.FN_BODY NB-IoT-RLF-Report-Container VAL_PTR = ¶meter_tvb @@ -894,6 +902,7 @@ if (gcsna_handle) { if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NB_IoT_RLF_Report_Container); + volatile int saved_offset = offset; TRY { dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -901,6 +910,7 @@ if (gcsna_handle) { show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } #.FN_BODY TooEarlyInterRATHOReportReportFromEUTRAN/uERLFReportContainer VAL_PTR = ¶meter_tvb @@ -914,6 +924,7 @@ if (gcsna_handle) { if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container); + volatile int saved_offset = offset; TRY { dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -921,6 +932,7 @@ if (gcsna_handle) { show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } #.TYPE_ATTR @@ -1112,6 +1124,7 @@ RecommendedCellItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=& if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedNGRANCellInformation); + volatile int saved_offset = offset; TRY { dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -1119,6 +1132,7 @@ RecommendedCellItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=& show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } #.FN_BODY LastVisitedUTRANCellInformation VAL_PTR = ¶meter_tvb @@ -1130,6 +1144,7 @@ RecommendedCellItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=& if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedUTRANCellInformation); + volatile int saved_offset = offset; TRY { dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -1137,6 +1152,7 @@ RecommendedCellItem/timeStayedInCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=& show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } #.TYPE_ATTR diff --git a/epan/dissectors/packet-ngap.c b/epan/dissectors/packet-ngap.c index 7acfc9eb79..28fd0c229f 100644 --- a/epan/dissectors/packet-ngap.c +++ b/epan/dissectors/packet-ngap.c @@ -8136,6 +8136,7 @@ dissect_ngap_CoverageEnhancementLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ct if (cov_enh_level_tvb && ngap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_ngap_CoverageEnhancementLevel); + volatile int saved_offset = offset; if ((ngap_is_nbiot_ue(actx->pinfo) && (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_AUTOMATIC)) || (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_NBIOT)) { TRY { @@ -8154,6 +8155,7 @@ dissect_ngap_CoverageEnhancementLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } ENDTRY; } + offset = saved_offset; } @@ -14277,6 +14279,7 @@ dissect_ngap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } else { if (nas_5gs_handle) { proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NAS_PDU); + volatile int saved_offset; TRY { call_dissector(nas_5gs_handle, parameter_tvb, actx->pinfo, subtree); } @@ -14284,6 +14287,7 @@ dissect_ngap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr show_exception(tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } } } diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index b5cb945c61..c8312bd5d1 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -3538,6 +3538,7 @@ dissect_s1ap_CELevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_CELevel); + volatile int saved_offset = offset; if ((s1ap_is_nbiot_ue(actx->pinfo) && (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_AUTOMATIC)) || (g_s1ap_dissect_lte_container_as == S1AP_LTE_CONTAINER_NBIOT)) { TRY { @@ -3556,6 +3557,7 @@ dissect_s1ap_CELevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } ENDTRY; } + offset = saved_offset; } @@ -7727,6 +7729,7 @@ dissect_s1ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedUTRANCellInformation); + volatile int saved_offset = offset; TRY { dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -7734,6 +7737,7 @@ dissect_s1ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } @@ -7774,6 +7778,7 @@ dissect_s1ap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedNGRANCellInformation); + volatile int saved_offset = offset; TRY { dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -7781,6 +7786,7 @@ dissect_s1ap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } @@ -8892,6 +8898,7 @@ dissect_s1ap_NB_IoT_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1 if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NB_IoT_RLF_Report_Container); + volatile int saved_offset = offset; TRY { dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -8899,6 +8906,7 @@ dissect_s1ap_NB_IoT_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1 show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } @@ -9864,13 +9872,15 @@ dissect_s1ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container); - TRY { - dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); - } - CATCH_BOUNDS_ERRORS { - show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); - } - ENDTRY; + volatile int saved_offset = offset; + TRY { + dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + CATCH_BOUNDS_ERRORS { + show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); + } + ENDTRY; + offset = saved_offset; } @@ -9891,6 +9901,7 @@ dissect_s1ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int o if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container_for_extended_bands); + volatile int saved_offset = offset; TRY { dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -9898,6 +9909,7 @@ dissect_s1ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int o show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; } @@ -9938,6 +9950,7 @@ dissect_s1ap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ if (g_s1ap_dissect_container) { struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RRCContainer); + volatile int saved_offset = offset; switch(s1ap_data->transparent_container_type){ case SOURCE_TO_TARGET_TRANSPARENT_CONTAINER: @@ -9974,6 +9987,7 @@ dissect_s1ap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ default: break; } + offset = saved_offset; } @@ -10594,7 +10608,7 @@ dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer(tvbuff_t *tvb _U_, int o show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; - offset = _offset; + offset = _offset; @@ -10923,8 +10937,8 @@ static const per_sequence_t TargeteNB_ToSourceeNB_TransparentContainer_sequence[ static int dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); - volatile guint32 _offset; + struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo); + volatile guint32 _offset; s1ap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER; _offset = offset; @@ -10936,7 +10950,7 @@ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer(tvbuff_t *tvb _U_, int o show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; - offset = _offset; + offset = _offset; return offset; @@ -14537,6 +14551,7 @@ dissect_s1ap_T_uERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ if (g_s1ap_dissect_container) { subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_UE_RLF_Report_Container); + volatile int saved_offset = offset; TRY { dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } @@ -14544,6 +14559,7 @@ dissect_s1ap_T_uERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; + offset = saved_offset; }