Comment # 11
              on bug 9962
              from  David Ameiss
        The issue is actually that a TCP SID header should never appear in a
non-transport stream (LBM_CHANNEL_UNKNOWN_STREAM_TCP). So the fuzzing made it
look that way... which is what the fuzzing is supposed to do.
I need to re-evaluate the lbm_is_channel_known() and related functions - it was
correct at the time I wrote it, but perhaps not sufficient.
At least for the short term, I've worked around it by declaring a
tcp_addr_valid gboolean, then:
        /* If transport is TCP and we got a TCP SID header, process it. */
        tcp_addr_valid = TRUE;
        if (lbm_channel_is_unknown_transport_source_lbttcp(channel))
        {
            COPY_ADDRESS_SHALLOW(&tcp_addr, &(pinfo->src));
            tcp_port = (guint16)pinfo->srcport;
        }
        else if (lbm_channel_is_unknown_transport_client_lbttcp(channel))
        {
            COPY_ADDRESS_SHALLOW(&tcp_addr, &(pinfo->dst));
            tcp_port = (guint16)pinfo->destport;
        }
        else
        {
            tcp_addr_valid = FALSE;
        }
        if ((pinfo->fd->flags.visited == 0) && (tcp_sid_info.set) &&
!lbm_channel_is_known(channel) && tcp_addr_valid)
        {
            lbttcp_transport_sid_add(&tcp_addr, tcp_port, pinfo->fd->num,
tcp_sid_info.session_id);
        }
         
      
      
      You are receiving this mail because:
      
      
          - You are watching all bug changes.