From Ludovic Haessler:

CSN Ack/Nack Description wrongly handled in gsm_rlcmac_dl dissector (3GPP TS 44.060)

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6101

svn path=/trunk/; revision=37926
This commit is contained in:
Anders Broman 2011-07-07 07:44:25 +00:00
parent 6542687a78
commit 2a6c45c5a2
2 changed files with 17 additions and 2 deletions

View File

@ -450,9 +450,24 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t
if (no_of_bits > 0)
{
proto_tree_add_text(tree, tvb, bit_offset>>3, (no_of_bits>>3)+1, "%s %s",
if (no_of_bits <= 32)
{
proto_tree_add_text(tree, tvb, bit_offset>>3, (no_of_bits>>3)+1, "%s %s",
decode_bits_in_field(bit_offset, no_of_bits, tvb_get_bits32(tvb, bit_offset, no_of_bits, FALSE)),
pDescr->sz);
}
else if (no_of_bits <= 64)
{
proto_tree_add_text(tree, tvb, bit_offset>>3, (no_of_bits>>3)+1, "%s %s",
decode_bits_in_field(bit_offset, no_of_bits, tvb_get_bits64(tvb, bit_offset, no_of_bits, FALSE)),
pDescr->sz);
}
else
{
return ProcessError(tree, tvb, bit_offset,"csnStreamDissector NOT IMPLEMENTED", 999, pDescr);
}
remaining_bits_len -= no_of_bits;
DISSECTOR_ASSERT(remaining_bits_len >= 0);
bit_offset += no_of_bits;

View File

@ -1055,7 +1055,7 @@ CSN_DESCR_END(Starting_Frame_Number_t)
/*< Ack/Nack Description IE >*/
static const
CSN_DESCR_BEGIN(Ack_Nack_Description_t)
M_BIT (Ack_Nack_Description_t, FINAL_ACK_INDICATION, &hf_ack_nack_description_final_ack_indication),
M_UINT (Ack_Nack_Description_t, FINAL_ACK_INDICATION, 1, &hf_ack_nack_description_final_ack_indication),
M_UINT (Ack_Nack_Description_t, STARTING_SEQUENCE_NUMBER, 7, &hf_ack_nack_description_starting_sequence_number),
M_BITMAP (Ack_Nack_Description_t, RECEIVED_BLOCK_BITMAP, 64),
CSN_DESCR_END (Ack_Nack_Description_t)