(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-h223.c) |
| |
| 838 | | | static guint32 dissect_mux_payload_by_me_list( tvbuff_t *tvb, packet_info *pinfo, guint32 pkt_offset, |
| 839 | | | proto_tree *pdu_tree, |
| 840 | | | h223_call_info* call_info, h223_mux_element* me, guint32 offset, gboolean endOfMuxSdu ) |
| 841 | | | { |
| 842 | | | guint32 len = tvb_reported_length(tvb); |
| 843 | | | guint32 frag_len; |
| 844 | | | guint32 sublist_len; |
| 845 | | | int i; |
| 846 | | | while ( me ) { |
| 847 | | | if ( me->sublist ) { |
| 848 | | | if ( me->repeat_count == 0 ) { |
| 849 | | | for(sublist_len = mux_element_sublist_size( me->sublist ); |
Unreachable Data Flow
The highlighted code will not execute under any circumstances. This may be because of: |
|
| 850 | | | offset + sublist_len <= len; |
| 851 | | | offset = dissect_mux_payload_by_me_list( tvb, pinfo, pkt_offset, pdu_tree, |
| 852 | | | call_info, me->sublist, offset, endOfMuxSdu ) ); |
| 853 | | | } else { |
| 854 | | | for(i = 0; i < me->repeat_count; ++i) |
| 855 | | | offset = dissect_mux_payload_by_me_list( tvb, pinfo, pkt_offset, pdu_tree, |
| 856 | | | call_info, me->sublist, offset, endOfMuxSdu ); |
| 857 | | | } |
| 858 | | | } else { |
| 859 | | | if ( me->repeat_count == 0 ) |
| 860 | | | frag_len = len - offset; |
| 861 | | | else |
| 862 | | | frag_len = me->repeat_count; |
| 863 | | | if(frag_len > 0) { |
| 864 | | | tvbuff_t *next_tvb; |
| 865 | | | next_tvb = tvb_new_subset(tvb, offset, frag_len, frag_len); |
| 866 | | | dissect_mux_sdu_fragment( next_tvb, pinfo, pkt_offset + offset, pdu_tree, |
| 867 | | | call_info, me->vc, (offset+frag_len==len) && endOfMuxSdu); |
| 868 | | | offset += frag_len; |
| 869 | | | } |
| 870 | | | } |
| 871 | | | me = me->next; |
| 872 | | | } |
| 873 | | | return offset; |
| 874 | | | } |
| |