From 5c4f8770318963d77a7829cb2113d625bb654a50 Mon Sep 17 00:00:00 2001 From: Ulf Lamping Date: Thu, 2 Jun 2005 18:44:17 +0000 Subject: bugfix (fuzz_tested): t2i can be zero, test at all places before using it svn path=/trunk/; revision=14526 --- epan/dissectors/packet-smb.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'epan/dissectors/packet-smb.c') diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c index b9cef795f8..7a093b0d0c 100644 --- a/epan/dissectors/packet-smb.c +++ b/epan/dissectors/packet-smb.c @@ -9427,7 +9427,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* Find First2 information level */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_ff2_information_level, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9464,7 +9464,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* Find First2 information level */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_ff2_information_level, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9496,7 +9496,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* level of interest */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_qfsi_information_level, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9511,7 +9511,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* level of interest */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_qpi_loi, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9545,7 +9545,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* level of interest */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_spi_loi, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9580,7 +9580,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* level of interest */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_qpi_loi, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9606,7 +9606,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* level of interest */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_spi_loi, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); @@ -9675,7 +9675,7 @@ dissect_transaction2_request_parameters(tvbuff_t *tvb, packet_info *pinfo, /* Find Notify information level */ CHECK_BYTE_COUNT_TRANS(2); si->info_level = tvb_get_letohs(tvb, offset); - if (!pinfo->fd->flags.visited) + if (t2i != NULL && !pinfo->fd->flags.visited) t2i->info_level = si->info_level; proto_tree_add_uint(tree, hf_smb_fn_information_level, tvb, offset, 2, si->info_level); COUNT_BYTES_TRANS(2); -- cgit v1.2.1