diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2005-06-02 18:44:17 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2005-06-02 18:44:17 +0000 |
commit | 5c4f8770318963d77a7829cb2113d625bb654a50 (patch) | |
tree | 5243e327be41d919cadae687cd49467b1b2ca4cc /epan/dissectors/packet-smb.c | |
parent | 3c4401b95d1570dcab290425a35c2f961f64fae1 (diff) | |
download | wireshark-5c4f8770318963d77a7829cb2113d625bb654a50.tar.gz |
bugfix (fuzz_tested): t2i can be zero, test at all places before using it
svn path=/trunk/; revision=14526
Diffstat (limited to 'epan/dissectors/packet-smb.c')
-rw-r--r-- | epan/dissectors/packet-smb.c | 16 |
1 files changed, 8 insertions, 8 deletions
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); |