From 629e68828c3fe751c1e00d033227f23ccc3bb0f8 Mon Sep 17 00:00:00 2001 From: Dario Lombardo Date: Mon, 26 Feb 2018 17:15:03 +0100 Subject: [PATCH] rrc: check parameter when creating cipher info (found by clang). Change-Id: I85e4d0f62b4c4c16f74f229a8dfcea0e27048def Reviewed-on: https://code.wireshark.org/review/26117 Petri-Dish: Dario Lombardo Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- epan/dissectors/asn1/rrc/packet-rrc-template.c | 5 ++++- epan/dissectors/packet-rrc.c | 13 ++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/epan/dissectors/asn1/rrc/packet-rrc-template.c b/epan/dissectors/asn1/rrc/packet-rrc-template.c index a087316320..3a33a5436b 100644 --- a/epan/dissectors/asn1/rrc/packet-rrc-template.c +++ b/epan/dissectors/asn1/rrc/packet-rrc-template.c @@ -366,9 +366,12 @@ get_or_create_cipher_info(fp_info *fpinf, rlc_info *rlcinf) { guint32 ueid; int i; - ueid = rlcinf->ueid[fpinf->cur_tb]; + if (!fpinf || !rlcinf) + return NULL; + ueid = rlcinf->ueid[fpinf->cur_tb]; cipher_info = (rrc_ciphering_info *)g_tree_lookup(rrc_ciph_info_tree, GINT_TO_POINTER((gint)ueid)); + if( cipher_info == NULL ){ cipher_info = g_new0(rrc_ciphering_info,1); diff --git a/epan/dissectors/packet-rrc.c b/epan/dissectors/packet-rrc.c index b9df2f4cbc..207411d949 100644 --- a/epan/dissectors/packet-rrc.c +++ b/epan/dissectors/packet-rrc.c @@ -18306,9 +18306,12 @@ get_or_create_cipher_info(fp_info *fpinf, rlc_info *rlcinf) { guint32 ueid; int i; - ueid = rlcinf->ueid[fpinf->cur_tb]; + if (!fpinf || !rlcinf) + return NULL; + ueid = rlcinf->ueid[fpinf->cur_tb]; cipher_info = (rrc_ciphering_info *)g_tree_lookup(rrc_ciph_info_tree, GINT_TO_POINTER((gint)ueid)); + if( cipher_info == NULL ){ cipher_info = g_new0(rrc_ciphering_info,1); @@ -163318,7 +163321,7 @@ static int dissect_MeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ /*--- End of included file: packet-rrc-fn.c ---*/ -#line 408 "./asn1/rrc/packet-rrc-template.c" +#line 411 "./asn1/rrc/packet-rrc-template.c" static int @@ -206718,7 +206721,7 @@ void proto_register_rrc(void) { NULL, HFILL }}, /*--- End of included file: packet-rrc-hfarr.c ---*/ -#line 491 "./asn1/rrc/packet-rrc-template.c" +#line 494 "./asn1/rrc/packet-rrc-template.c" { &hf_test, { "RAB Test", "rrc.RAB.test", FT_UINT8, BASE_DEC, NULL, 0, @@ -213667,7 +213670,7 @@ void proto_register_rrc(void) { &ett_rrc_UL_RFC3095_Context, /*--- End of included file: packet-rrc-ettarr.c ---*/ -#line 541 "./asn1/rrc/packet-rrc-template.c" +#line 544 "./asn1/rrc/packet-rrc-template.c" &ett_rrc_eutraFeatureGroupIndicators, &ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo, &ett_rrc_ims_info, @@ -213768,7 +213771,7 @@ void proto_register_rrc(void) { /*--- End of included file: packet-rrc-dis-reg.c ---*/ -#line 566 "./asn1/rrc/packet-rrc-template.c" +#line 569 "./asn1/rrc/packet-rrc-template.c"