Wireshark-bugs: [Wireshark-bugs] [Bug 9718] Add dissectors and GUI support for LBM aka 29West ak
Guy Harris
changed
bug 9718
What |
Removed |
Added |
See Also |
|
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9962
|
Comment # 20
on bug 9718
from Guy Harris
The code that was checked in causes crashes; see bug 9962.
Fixed in https://code.wireshark.org/review/1047.
The change is
diff --git a/epan/dissectors/packet-lbmc.c b/epan/dissectors/packet-lbmc.c
index 36b5318..8864537 100644
--- a/epan/dissectors/packet-lbmc.c
+++ b/epan/dissectors/packet-lbmc.c
@@ -11018,7 +11018,11 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int
offset, packet_info * pinfo, pr
COPY_ADDRESS_SHALLOW(&tcp_addr, &(pinfo->dst));
tcp_port = (guint16)pinfo->destport;
}
- if ((pinfo->fd->flags.visited == 0) && (tcp_sid_info.set) &&
!lbm_channel_is_known(channel))
+ /* XXX - do we need to check
lbm_channel_is_unknown_stream_tcp(channel)?
+ We must *NOT* call lbttcp_transport_sid_add() unless
+ lbm_channel_is_unknown_transport_lbttcp(channel) is true as, if
+ it's not true, we will *NOT* have set tcp_addr or tcp_port above!
*/
+ if ((pinfo->fd->flags.visited == 0) && (tcp_sid_info.set) &&
lbm_channel_is_unknown_transport_lbttcp(channel))
{
lbttcp_transport_sid_add(&tcp_addr, tcp_port, pinfo->fd->num,
tcp_sid_info.session_id);
}
so that the check "!lbm_channel_is_known(channel)" was changed to
"lbm_channel_is_unknown_transport_lbttcp(channel)".
As the comment says, we *MUST* not use tcp_addr or tcp_port unless either
1) lbm_channel_is_unknown_transport_lbttcp(channel) is true
or
2) we add a case where we set tcp_port and tcp_addr if channel is
LBM_CHANNEL_UNKNOWN_STREAM_TCP.
You are receiving this mail because:
- You are watching all bug changes.