summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-smb.c
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2005-06-02 18:44:17 +0000
committerUlf Lamping <ulf.lamping@web.de>2005-06-02 18:44:17 +0000
commit5c4f8770318963d77a7829cb2113d625bb654a50 (patch)
tree5243e327be41d919cadae687cd49467b1b2ca4cc /epan/dissectors/packet-smb.c
parent3c4401b95d1570dcab290425a35c2f961f64fae1 (diff)
downloadwireshark-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.c16
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);