(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-rsvp.c) |
| |
| 5436 | | | dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, |
| 5437 | | | int tree_mode, rsvp_conversation_info *rsvph) |
| 5438 | | | { |
| 5439 | | | proto_tree *rsvp_tree = NULL; |
| 5440 | | | proto_tree *; |
| 5441 | | | proto_tree *rsvp_object_tree; |
| 5442 | | | proto_tree *ti; |
| 5443 | | | proto_item *hidden_item; |
| 5444 | | | guint16 cksum, computed_cksum; |
| 5445 | | | vec_t cksum_vec[1]; |
| 5446 | | | int offset = 0; |
| 5447 | | | int len; |
| 5448 | | | guint8 ver_flags; |
| 5449 | | | guint8 message_type; |
| 5450 | | | int session_off, tempfilt_off; |
| 5451 | | | int msg_length; |
| 5452 | | | int obj_length; |
| 5453 | | | int offset2; |
| 5454 | | | |
| 5455 | | | offset = 0; |
Useless Assignment
This code assigns the variable the same value it already had. |
|
| 5456 | | | len = 0; |
| 5457 | | | ver_flags = tvb_get_guint8(tvb, 0); |
| 5458 | | | msg_length = tvb_get_ntohs(tvb, 6); |
| 5459 | | | message_type = tvb_get_guint8(tvb, 1); |
| 5460 | | | |
| 5461 | | | ti = proto_tree_add_item(tree, proto_rsvp, tvb, offset, msg_length, |
| 5462 | | | FALSE); |
| 5463 | | | rsvp_tree = proto_item_add_subtree(ti, tree_mode); |
| 5464 | | | if (pinfo->ipproto == IP_PROTO_RSVPE2EI)
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/ipproto.h |
| |
183 | #define IP_PROTO_RSVPE2EI 134 /* RSVP E2E Ignore - RFC3175 */ |
| |
|
| 5465 | | | proto_item_append_text(rsvp_tree, " (E2E-IGNORE)"); |
| 5466 | | | proto_item_append_text(rsvp_tree, ": "); |
| 5467 | | | proto_item_append_text(rsvp_tree, "%s", val_to_str(message_type, message_type_vals, |
| 5468 | | | "Unknown (%u). ")); |
| 5469 | | | find_rsvp_session_tempfilt(tvb, 0, &session_off, &tempfilt_off); |
| 5470 | | | if (session_off) |
| 5471 | | | proto_item_append_text(rsvp_tree, "%s", summary_session(tvb, session_off)); |
| 5472 | | | if (tempfilt_off) |
| 5473 | | | proto_item_append_text(rsvp_tree, "%s", summary_template(tvb, tempfilt_off)); |
| 5474 | | | |
| 5475 | | | ti = proto_tree_add_text(rsvp_tree, tvb, offset, 8, "RSVP . %s", |
| 5476 | | | val_to_str(message_type, message_type_vals, |
| 5477 | | | "Unknown Message (%u). ")); |
| 5478 | | | if (pinfo->ipproto == IP_PROTO_RSVPE2EI)
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/ipproto.h |
| |
183 | #define IP_PROTO_RSVPE2EI 134 /* RSVP E2E Ignore - RFC3175 */ |
| |
|
| 5479 | | | proto_item_append_text(ti, " (E2E-IGNORE)"); |
| 5480 | | | = proto_item_add_subtree(ti, TREE(TT_HDR)); |
| 5481 | | | |
| 5482 | | | proto_tree_add_text(, tvb, offset, 1, "RSVP Version: %u", |
| 5483 | | | (ver_flags & 0xf0)>>4); |
| 5484 | | | proto_tree_add_text(, tvb, offset, 1, "Flags: %02x", |
| 5485 | | | ver_flags & 0xf); |
| 5486 | | | proto_tree_add_uint(, rsvp_filter[RSVPF_MSG], tvb, |
| 5487 | | | offset+1, 1, message_type); |
| 5488 | | | switch (RSVPF_MSG + message_type) { |
| 5489 | | | |
| 5490 | | | case RSVPF_PATH: |
| 5491 | | | case RSVPF_RESV: |
| 5492 | | | case RSVPF_PATHERR: |
| 5493 | | | case RSVPF_RESVERR: |
| 5494 | | | case RSVPF_PATHTEAR: |
| 5495 | | | case RSVPF_RESVTEAR: |
| 5496 | | | case RSVPF_RCONFIRM: |
| 5497 | | | case RSVPF_RTEARCONFIRM: |
| 5498 | | | case RSVPF_BUNDLE: |
| 5499 | | | case RSVPF_ACK: |
| 5500 | | | case RSVPF_SREFRESH: |
| 5501 | | | case RSVPF_HELLO: |
| 5502 | | | case RSVPF_NOTIFY: |
| 5503 | | | hidden_item = proto_tree_add_boolean(, rsvp_filter[RSVPF_MSG + message_type], tvb, |
| 5504 | | | offset+1, 1, 1); |
| 5505 | | | PROTO_ITEM_SET_HIDDEN(hidden_item);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
319 | #define PROTO_ITEM_SET_HIDDEN(proto_item) \ |
320 | ((proto_item) ? FI_SET_FLAG((proto_item)->finfo, FI_HIDDEN) : 0) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
246 | #define FI_SET_FLAG(fi, flag) (fi->flags = fi->flags | flag) |
| |
|
| 5506 | | | break; |
| 5507 | | | |
| 5508 | | | default: |
| 5509 | | | proto_tree_add_protocol_format(, proto_malformed, tvb, offset+1, 1, |
| 5510 | | | "Invalid message type: %u", message_type); |
| 5511 | | | return; |
| 5512 | | | } |
| 5513 | | | |
| 5514 | | | cksum = tvb_get_ntohs(tvb, offset+2); |
| 5515 | | | if (!pinfo->fragmented && (int) tvb_length(tvb) >= msg_length) { |
| 5516 | | | |
| 5517 | | | |
| 5518 | | | cksum_vec[0].ptr = tvb_get_ptr(tvb, 0, msg_length); |
| 5519 | | | cksum_vec[0].len = msg_length; |
| 5520 | | | computed_cksum = in_cksum(&cksum_vec[0], 1); |
| 5521 | | | if (computed_cksum == 0) { |
| 5522 | | | proto_tree_add_text(, tvb, offset+2, 2, |
| 5523 | | | "Message Checksum: 0x%04x [correct]", |
| 5524 | | | cksum); |
| 5525 | | | } else { |
| 5526 | | | proto_tree_add_text(, tvb, offset+2, 2, |
| 5527 | | | "Message Checksum: 0x%04x [incorrect, should be 0x%04x]", |
| 5528 | | | cksum, |
| 5529 | | | in_cksum_shouldbe(cksum, computed_cksum)); |
| 5530 | | | } |
| 5531 | | | } else { |
| 5532 | | | proto_tree_add_text(, tvb, offset+2, 2, |
| 5533 | | | "Message Checksum: 0x%04x", |
| 5534 | | | cksum); |
| 5535 | | | } |
| 5536 | | | proto_tree_add_text(, tvb, offset+4, 1, |
| 5537 | | | "Sending TTL: %u", |
| 5538 | | | tvb_get_guint8(tvb, offset+4)); |
| 5539 | | | proto_tree_add_text(, tvb, offset+6, 2, |
| 5540 | | | "Message length: %u", msg_length); |
| 5541 | | | |
| 5542 | | | offset = 8; |
| 5543 | | | len = 8; |
| 5544 | | | |
| 5545 | | | if (message_type == RSVP_MSG_BUNDLE) { |
| 5546 | | | |
| 5547 | | | if (rsvp_bundle_dissect) { |
| 5548 | | | int len = 8; |
| 5549 | | | while (len < msg_length) { |
| 5550 | | | gint sub_len; |
| 5551 | | | tvbuff_t *tvb_sub; |
| 5552 | | | sub_len = tvb_get_ntohs(tvb, len+6); |
| 5553 | | | tvb_sub = tvb_new_subset(tvb, len, sub_len, sub_len); |
| 5554 | | | dissect_rsvp_msg_tree(tvb_sub, pinfo, rsvp_tree, TREE(TT_BUNDLE_COMPMSG), rsvph); |
| 5555 | | | len += sub_len; |
| 5556 | | | } |
| 5557 | | | } else { |
| 5558 | | | proto_tree_add_text(rsvp_tree, tvb, offset, msg_length - len, |
| 5559 | | | "Bundle Component Messages Not Dissected"); |
| 5560 | | | } |
| 5561 | | | return; |
| 5562 | | | } |
| 5563 | | | |
| 5564 | | | while (len < msg_length) { |
| 5565 | | | guint8 class; |
| 5566 | | | guint8 type; |
| 5567 | | | |
| 5568 | | | obj_length = tvb_get_ntohs(tvb, offset); |
| 5569 | | | class = tvb_get_guint8(tvb, offset+2); |
| 5570 | | | type = tvb_get_guint8(tvb, offset+3); |
| 5571 | | | ti = proto_tree_add_item(rsvp_tree, rsvp_filter[rsvp_class_to_filter_num(class)], |
| 5572 | | | tvb, offset, obj_length, FALSE); |
| 5573 | | | rsvp_object_tree = proto_item_add_subtree(ti, TREE(rsvp_class_to_tree_type(class))); |
| 5574 | | | if (obj_length < 4) { |
| 5575 | | | proto_tree_add_text(rsvp_object_tree, tvb, offset, 2, |
| 5576 | | | "Length: %u (bogus, must be >= 4)", obj_length); |
| 5577 | | | break; |
| 5578 | | | } |
| 5579 | | | proto_tree_add_text(rsvp_object_tree, tvb, offset, 2, |
| 5580 | | | "Length: %u", obj_length); |
| 5581 | | | proto_tree_add_uint(rsvp_object_tree, rsvp_filter[RSVPF_OBJECT], tvb, |
| 5582 | | | offset+2, 1, class); |
| 5583 | | | |
| 5584 | | | offset2 = offset+4; |
| 5585 | | | |
| 5586 | | | switch(class) { |
| 5587 | | | |
| 5588 | | | case RSVP_CLASS_SESSION: |
| 5589 | | | dissect_rsvp_session(ti, rsvp_object_tree, tvb, offset, obj_length, class, type, rsvph); |
| 5590 | | | break; |
| 5591 | | | |
| 5592 | | | case RSVP_CLASS_HOP: |
| 5593 | | | dissect_rsvp_hop(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5594 | | | break; |
| 5595 | | | |
| 5596 | | | case RSVP_CLASS_TIME_VALUES: |
| 5597 | | | dissect_rsvp_time_values(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5598 | | | break; |
| 5599 | | | |
| 5600 | | | case RSVP_CLASS_ERROR: |
| 5601 | | | dissect_rsvp_error(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5602 | | | break; |
| 5603 | | | |
| 5604 | | | case RSVP_CLASS_SCOPE: |
| 5605 | | | dissect_rsvp_scope(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5606 | | | break; |
| 5607 | | | |
| 5608 | | | case RSVP_CLASS_STYLE: |
| 5609 | | | dissect_rsvp_style(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5610 | | | break; |
| 5611 | | | |
| 5612 | | | case RSVP_CLASS_CONFIRM: |
| 5613 | | | dissect_rsvp_confirm(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5614 | | | break; |
| 5615 | | | |
| 5616 | | | case RSVP_CLASS_SENDER_TEMPLATE: |
| 5617 | | | case RSVP_CLASS_FILTER_SPEC: |
| 5618 | | | dissect_rsvp_template_filter(ti, rsvp_object_tree, tvb, offset, obj_length, class, type, rsvph); |
| 5619 | | | break; |
| 5620 | | | |
| 5621 | | | case RSVP_CLASS_SENDER_TSPEC: |
| 5622 | | | dissect_rsvp_tspec(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5623 | | | break; |
| 5624 | | | |
| 5625 | | | case RSVP_CLASS_FLOWSPEC: |
| 5626 | | | dissect_rsvp_flowspec(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5627 | | | break; |
| 5628 | | | |
| 5629 | | | case RSVP_CLASS_ADSPEC: |
| 5630 | | | dissect_rsvp_adspec(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5631 | | | break; |
| 5632 | | | |
| 5633 | | | case RSVP_CLASS_INTEGRITY: |
| 5634 | | | dissect_rsvp_integrity(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5635 | | | break; |
| 5636 | | | |
| 5637 | | | case RSVP_CLASS_POLICY: |
| 5638 | | | dissect_rsvp_policy(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5639 | | | break; |
| 5640 | | | |
| 5641 | | | case RSVP_CLASS_LABEL_REQUEST: |
| 5642 | | | dissect_rsvp_label_request(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5643 | | | break; |
| 5644 | | | |
| 5645 | | | case RSVP_CLASS_RECOVERY_LABEL: |
| 5646 | | | case RSVP_CLASS_UPSTREAM_LABEL: |
| 5647 | | | case RSVP_CLASS_SUGGESTED_LABEL: |
| 5648 | | | case RSVP_CLASS_LABEL: |
| 5649 | | | dissect_rsvp_label(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5650 | | | break; |
| 5651 | | | |
| 5652 | | | case RSVP_CLASS_LABEL_SET: |
| 5653 | | | dissect_rsvp_label_set(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5654 | | | break; |
| 5655 | | | |
| 5656 | | | case RSVP_CLASS_SESSION_ATTRIBUTE: |
| 5657 | | | dissect_rsvp_session_attribute(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5658 | | | break; |
| 5659 | | | |
| 5660 | | | case RSVP_CLASS_EXPLICIT_ROUTE: |
| 5661 | | | dissect_rsvp_explicit_route(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5662 | | | break; |
| 5663 | | | |
| 5664 | | | case RSVP_CLASS_RECORD_ROUTE: |
| 5665 | | | dissect_rsvp_record_route(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5666 | | | break; |
| 5667 | | | |
| 5668 | | | case RSVP_CLASS_MESSAGE_ID: |
| 5669 | | | dissect_rsvp_message_id(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5670 | | | break; |
| 5671 | | | |
| 5672 | | | case RSVP_CLASS_MESSAGE_ID_ACK: |
| 5673 | | | dissect_rsvp_message_id_ack(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5674 | | | break; |
| 5675 | | | |
| 5676 | | | case RSVP_CLASS_MESSAGE_ID_LIST: |
| 5677 | | | dissect_rsvp_message_id_list(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5678 | | | break; |
| 5679 | | | |
| 5680 | | | case RSVP_CLASS_HELLO: |
| 5681 | | | dissect_rsvp_hello(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5682 | | | break; |
| 5683 | | | |
| 5684 | | | case RSVP_CLASS_DCLASS: |
| 5685 | | | dissect_rsvp_dclass(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5686 | | | break; |
| 5687 | | | |
| 5688 | | | case RSVP_CLASS_ADMIN_STATUS: |
| 5689 | | | dissect_rsvp_admin_status(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5690 | | | break; |
| 5691 | | | |
| 5692 | | | case RSVP_CLASS_ASSOCIATION: |
| 5693 | | | dissect_rsvp_association(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5694 | | | break; |
| 5695 | | | |
| 5696 | | | case RSVP_CLASS_LSP_TUNNEL_IF_ID: |
| 5697 | | | dissect_rsvp_lsp_tunnel_if_id(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5698 | | | break; |
| 5699 | | | |
| 5700 | | | case RSVP_CLASS_NOTIFY_REQUEST: |
| 5701 | | | dissect_rsvp_notify_request(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5702 | | | break; |
| 5703 | | | |
| 5704 | | | case RSVP_CLASS_GENERALIZED_UNI: |
| 5705 | | | dissect_rsvp_gen_uni(ti, rsvp_object_tree, tvb, offset, obj_length, class, type, rsvph); |
| 5706 | | | break; |
| 5707 | | | |
| 5708 | | | case RSVP_CLASS_CALL_ID: |
| 5709 | | | dissect_rsvp_call_id(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5710 | | | break; |
| 5711 | | | |
| 5712 | | | case RSVP_CLASS_RESTART_CAP: |
| 5713 | | | dissect_rsvp_restart_cap(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5714 | | | break; |
| 5715 | | | |
| 5716 | | | case RSVP_CLASS_PROTECTION: |
| 5717 | | | dissect_rsvp_protection_info(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5718 | | | break; |
| 5719 | | | |
| 5720 | | | case RSVP_CLASS_FAST_REROUTE: |
| 5721 | | | dissect_rsvp_fast_reroute(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5722 | | | break; |
| 5723 | | | |
| 5724 | | | case RSVP_CLASS_DETOUR: |
| 5725 | | | dissect_rsvp_detour(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5726 | | | break; |
| 5727 | | | |
| 5728 | | | case RSVP_CLASS_DIFFSERV: |
| 5729 | | | dissect_rsvp_diffserv(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5730 | | | break; |
| 5731 | | | |
| 5732 | | | case RSVP_CLASS_CLASSTYPE: |
| 5733 | | | dissect_rsvp_diffserv_aware_te(ti, rsvp_object_tree, tvb, offset, obj_length, class, type); |
| 5734 | | | break; |
| 5735 | | | |
| 5736 | | | case RSVP_CLASS_NULL: |
| 5737 | | | default: |
| 5738 | | | proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4, |
| 5739 | | | "Data (%d bytes)", obj_length - 4); |
| 5740 | | | break; |
| 5741 | | | } |
| 5742 | | | |
| 5743 | | | offset += obj_length; |
| 5744 | | | len += obj_length; |
| 5745 | | | } |
| 5746 | | | } |
| |