Wireshark-bugs: [Wireshark-bugs] [Bug 9718] Add dissectors and GUI support for LBM aka 29West ak

Date: Thu, 10 Apr 2014 00:56:30 +0000

changed bug 9718

What Removed Added
See Also   https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9962

Comment # 20 on bug 9718 from
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.