(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-dcerpc.c) |
| |
| 2774 | | | dissect_dcerpc_cn_bind_ack (tvbuff_t *tvb, gint offset, packet_info *pinfo, |
| 2775 | | | proto_tree *dcerpc_tree, e_dce_cn_common_hdr_t *hdr) |
| 2776 | | | { |
| 2777 | | | guint16 max_xmit, max_recv; |
| 2778 | | | guint16 sec_addr_len; |
| 2779 | | | guint8 num_results; |
| 2780 | | | guint i; |
| 2781 | | | guint16 result; |
| 2782 | | | guint16 reason; |
| 2783 | | | e_uuid_t trans_id; |
| 2784 | | | guint32 trans_ver; |
| 2785 | | | dcerpc_auth_info auth_info; |
| 2786 | | | |
| 2787 | | | offset = dissect_dcerpc_uint16 (tvb, offset, pinfo, dcerpc_tree, hdr->drep, |
| 2788 | | | hf_dcerpc_cn_max_xmit, &max_xmit); |
| 2789 | | | |
| 2790 | | | offset = dissect_dcerpc_uint16 (tvb, offset, pinfo, dcerpc_tree, hdr->drep, |
| 2791 | | | hf_dcerpc_cn_max_recv, &max_recv); |
| 2792 | | | |
| 2793 | | | offset = dissect_dcerpc_uint32 (tvb, offset, pinfo, dcerpc_tree, hdr->drep, |
| 2794 | | | hf_dcerpc_cn_assoc_group, NULL); |
| 2795 | | | |
| 2796 | | | offset = dissect_dcerpc_uint16 (tvb, offset, pinfo, dcerpc_tree, hdr->drep, |
| 2797 | [+] | | hf_dcerpc_cn_sec_addr_len, &sec_addr_len); |
 |
| 2798 | | | if (sec_addr_len != 0) { |
Event 4:
Skipping " if". sec_addr_len != 0 evaluates to false.
hide
|
|
| 2799 | | | tvb_ensure_bytes_exist(tvb, offset, sec_addr_len); |
| 2800 | | | proto_tree_add_item (dcerpc_tree, hf_dcerpc_cn_sec_addr, tvb, offset, |
| 2801 | | | sec_addr_len, FALSE); |
| 2802 | | | offset += sec_addr_len; |
| 2803 | | | } |
| 2804 | | | |
| 2805 | | | if (offset % 4) { |
Event 5:
Skipping " if". offset % 4 evaluates to false.
hide
|
|
| 2806 | | | offset += 4 - offset % 4; |
| 2807 | | | } |
| 2808 | | | |
| 2809 | | | offset = dissect_dcerpc_uint8 (tvb, offset, pinfo, dcerpc_tree, hdr->drep, |
| 2810 | [+] | | hf_dcerpc_cn_num_results, &num_results); |
 |
| 2811 | | | |
| 2812 | | | |
| 2813 | | | offset += 3; |
| 2814 | | | |
| 2815 | | | for (i = 0; i < num_results; i++) { |
Event 12:
Leaving loop. i < num_results evaluates to false.
hide
|
|
| 2816 | | | proto_tree *ctx_tree = NULL; |
| 2817 | | | |
| 2818 | | | if(dcerpc_tree){ |
| 2819 | | | proto_item *ctx_item; |
| 2820 | | | ctx_item = proto_tree_add_text(dcerpc_tree, tvb, offset, 24, "Context ID[%u]", i+1); |
| 2821 | | | ctx_tree = proto_item_add_subtree(ctx_item, ett_dcerpc_cn_ctx); |
| 2822 | | | } |
| 2823 | | | |
| 2824 | | | offset = dissect_dcerpc_uint16 (tvb, offset, pinfo, ctx_tree, |
| 2825 | | | hdr->drep, hf_dcerpc_cn_ack_result, |
| 2826 2844 |  | | [ Lines 2826 to 2844 omitted. ] |
| 2845 | | | offset += 16; |
| 2846 | | | |
| 2847 | | | offset = dissect_dcerpc_uint32 (tvb, offset, pinfo, ctx_tree, hdr->drep, |
| 2848 | | | hf_dcerpc_cn_ack_trans_ver, &trans_ver); |
| 2849 | | | } |
| 2850 | | | |
| 2851 | | | |
| 2852 | | | |
| 2853 | | | |
| 2854 | | | |
| 2855 | | | dissect_dcerpc_cn_auth (tvb, offset, pinfo, dcerpc_tree, hdr, TRUE, &auth_info); |
Event 13:
!0 evaluates to true.
hide
|
|
| 2856 | | | |
| 2857 | [+] | | if (check_col (pinfo->cinfo, COL_INFO)) { |
 |
| 2858 | | | if (num_results != 0 && result == 0) { |
Event 18:
Taking false branch. num_results != 0 evaluates to false.
hide
|
|
| 2859 | | | |
| 2860 | | | col_append_fstr (pinfo->cinfo, COL_INFO, |
| 2861 | | | " accept max_xmit: %u max_recv: %u", |
| 2862 | | | max_xmit, max_recv); |
| 2863 | | | } else { |
| 2864 | | | |
| 2865 | | | col_append_fstr (pinfo->cinfo, COL_INFO, " %s, reason: %s", |
| 2866 | | | val_to_str(result, p_cont_result_vals, |
| 2867 | | | "Unknown result (%u)"), |
| 2868 | | | val_to_str(reason, p_provider_reason_vals, |
| 2869 | | | "Unknown (%u)")); |
| |