Ethereal-dev: [Ethereal-dev] Fedora Core 3 patch
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Mon, 8 Nov 2004 19:06:15 +0100
FC3 contains the following patch for Ethereal. Should it be applied to Ethereal too? ciao Joerg -- Joerg Mayer <jmayer@xxxxxxxxx> We are stuck with technology when what we really want is just stuff that works. Some say that should read Microsoft instead of technology.
--- ethereal-0.10.3/epan/dissectors/packet-smb.c.orig 2004-03-20 07:38:44.000000000 -0700
+++ ethereal-0.10.3/epan/dissectors/packet-smb.c 2004-04-12 12:54:57.942360859 -0600
@@ -5538,9 +5538,13 @@ dissect_write_andx_request(tvbuff_t *tvb
/* XXX we should really only do this in case we have seen LARGE FILE being negotiated */
/* data length high */
- datalen_high = tvb_get_letohs(tvb, offset);
- proto_tree_add_uint(tree, hf_smb_data_len_high, tvb, offset, 2, datalen_high);
- offset += 2;
+ datalen_high = tvb_get_letohl(tvb, offset);
+ if(datalen_high==0xffffffff){
+ datalen_high=0;
+ } else {
+ proto_tree_add_uint(tree, hf_smb_data_len_high, tvb, offset, 4, datalen_high);
+ }
+ offset += 4;
/* data len low */
datalen_low = tvb_get_letohs(tvb, offset);
--- ethereal-0.10.3/epan/dissectors/packet-q931.c.orig 2004-03-25 17:19:16.000000000 -0700
+++ ethereal-0.10.3/epan/dissectors/packet-q931.c 2004-04-12 12:55:07.013732934 -0600
@@ -2485,6 +2485,11 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_i
((info_element & Q931_IE_SO_IDENTIFIER_MASK) == Q931_IE_SHIFT)) {
non_locking_shift = info_element & Q931_IE_SHIFT_NON_LOCKING;
codeset = info_element & Q931_IE_SHIFT_CODESET;
+ if(codeset>=NUM_INFO_ELEMENT_VALS){
+ proto_tree_add_text(q931_tree, tvb, offset, 1,
+ "Invalid codeset: %d", codeset);
+ return;
+ }
if (!non_locking_shift)
locked_codeset = codeset;
if (q931_tree != NULL) {
@@ -2514,6 +2519,11 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_i
dissector_try_port(codeset_dissector_table, codeset, next_tvb, pinfo, q931_tree)) {
offset += 1;
codeset = locked_codeset;
+ if(codeset>=NUM_INFO_ELEMENT_VALS){
+ proto_tree_add_text(q931_tree, tvb, offset, 1,
+ "Invalid codeset: %d", codeset);
+ return;
+ }
continue;
}
}
@@ -2577,6 +2587,11 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_i
}
offset += 1;
codeset = locked_codeset;
+ if(codeset>=NUM_INFO_ELEMENT_VALS){
+ proto_tree_add_text(q931_tree, tvb, offset, 1,
+ "Invalid codeset: %d", codeset);
+ return;
+ }
continue;
}
@@ -2665,6 +2680,11 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_i
dissector_try_port(codeset_dissector_table, codeset, next_tvb, pinfo, q931_tree)) {
offset += 2 + info_element_len;
codeset = locked_codeset;
+ if(codeset>=NUM_INFO_ELEMENT_VALS){
+ proto_tree_add_text(q931_tree, tvb, offset, 1,
+ "Invalid codeset: %d", codeset);
+ return;
+ }
continue;
}
}
@@ -2877,6 +2897,11 @@ dissect_q931_IEs(tvbuff_t *tvb, packet_i
offset += 1 + 1 + info_element_len;
}
codeset = locked_codeset;
+ if(codeset>=NUM_INFO_ELEMENT_VALS){
+ proto_tree_add_text(q931_tree, tvb, offset, 1,
+ "Invalid codeset: %d", codeset);
+ return;
+ }
}
}
- Prev by Date: Re: [Ethereal-dev] h225 decoded as h245
- Next by Date: Re: [Ethereal-dev] h225 decoded as h245
- Previous by thread: [Ethereal-dev] Clear text in tethereal?
- Next by thread: [Ethereal-dev] About Reassembly
- Index(es):





