diff options
-rw-r--r-- | epan/asn1.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-frame.c | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-kerberos.c | 7 | ||||
-rw-r--r-- | epan/dissectors/packet-ldap.c | 13 | ||||
-rw-r--r-- | epan/dissectors/packet-smb.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-spnego.c | 2 |
6 files changed, 17 insertions, 11 deletions
diff --git a/epan/asn1.c b/epan/asn1.c index e976866bbd..d3d9fc02f3 100644 --- a/epan/asn1.c +++ b/epan/asn1.c @@ -319,7 +319,7 @@ asn1_header_decode(ASN1_SCK *asn1, guint *cls, guint *con, guint *tag, gboolean *defp, guint *lenp) { int ret; - guint def, len; + guint def, len = 0; ret = asn1_id_decode (asn1, cls, con, tag); if (ret != ASN1_ERR_NOERROR) diff --git a/epan/dissectors/packet-frame.c b/epan/dissectors/packet-frame.c index aa2c705b11..ba98cfde20 100644 --- a/epan/dissectors/packet-frame.c +++ b/epan/dissectors/packet-frame.c @@ -288,7 +288,6 @@ show_exception(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pinfo->current_proto, exception_message); g_warning("Dissector bug, protocol %s, in packet %u: %s", pinfo->current_proto, pinfo->fd->num, exception_message); - g_free((void *)exception_message); break; default: diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index 6801a6db69..53a9293a3d 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -3837,7 +3837,12 @@ dissect_kerberos_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 4; } - offset=dissect_ber_choice(pinfo, kerberos_tree, tvb, offset, kerberos_applications_choice, -1, -1, NULL); + TRY { + offset=dissect_ber_choice(pinfo, kerberos_tree, tvb, offset, kerberos_applications_choice, -1, -1, NULL); + } CATCH_ALL { + pinfo->private_data=saved_private_data; + RETHROW; + } ENDTRY; proto_item_set_len(item, offset); pinfo->private_data=saved_private_data; diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 95b0739ab0..1800225700 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -353,7 +353,7 @@ static int read_sequence(ASN1_SCK *a, guint *len) { guint cls, con, tag; gboolean def; - guint length; + guint length = 0; int ret; ret = asn1_header_decode(a, &cls, &con, &tag, &def, &length); @@ -588,8 +588,9 @@ static int read_bytestring_value(ASN1_SCK *a, proto_tree *tree, int hf_id, else string = "(null)"; - if (tree) + if (tree && length > 0) { temp_item = proto_tree_add_bytes(tree, hf_id, a->tvb, start, a->offset - start, string); +} if (new_item) *new_item = temp_item; @@ -2338,10 +2339,10 @@ dissect_ldap_payload(tvbuff_t *tvb, packet_info *pinfo, guint length_remaining; ASN1_SCK a; int ret; - guint msg_len; - int messageOffset; - guint headerLength; - guint length; + guint msg_len = 0; + int messageOffset = 0; + guint headerLength = 0; + guint length = 0; tvbuff_t *msg_tvb = NULL; proto_item *msg_item = NULL; proto_tree *msg_tree = NULL; diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index e8ac736a1d..fd396b9475 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -14762,7 +14762,7 @@ dissect_smb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) nstime_t ns; si_counter++; - if(si_counter==20){ + if(si_counter>=20){ si_counter=0; } si=&si_arr[si_counter]; @@ -14838,6 +14838,7 @@ dissect_smb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) si->ct->tid_service=g_hash_table_new( smb_saved_info_hash_unmatched, smb_saved_info_equal_unmatched); + si->ct->raw_ntlmssp = 0; conversation_add_proto_data(conversation, proto_smb, si->ct); } diff --git a/epan/dissectors/packet-spnego.c b/epan/dissectors/packet-spnego.c index 715adee18f..8566f3f4c2 100644 --- a/epan/dissectors/packet-spnego.c +++ b/epan/dissectors/packet-spnego.c @@ -1150,7 +1150,7 @@ dissect_spnego_mechToken(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *subtree; gboolean def; int ret; - guint cls, con, tag, nbytes; + guint cls, con, tag, nbytes = 0; gint length_remaining, reported_length_remaining; tvbuff_t *token_tvb; |