(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-ansi_a.c) |
| |
| 4524 | | | elem_cause_l3(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len) |
| 4525 | | | { |
| 4526 | | | guint8 oct; |
| 4527 | | | guint32 curr_offset; |
| 4528 | | | const gchar *str = NULL; |
| 4529 | | | |
| 4530 | | | curr_offset = offset; |
| 4531 | | | |
| 4532 | | | oct = tvb_get_guint8(tvb, curr_offset); |
| 4533 | | | |
| 4534 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x80, 8); |
| 4535 | | | proto_tree_add_text(tree, |
| 4536 | | | tvb, curr_offset, 1, |
| 4537 | | | "%s : Extension", |
| 4538 | | | a_bigbuf); |
| 4539 | | | |
| 4540 | | | switch ((oct & 0x60) >> 5) |
| 4541 | | | { |
| 4542 | | | case 0: str = "Standard as described in ITU Recommendation Q.931"; break; |
| 4543 | | | case 1: str = "Reserved for other international standards"; break; |
| 4544 | | | case 2: str = "National standard"; break; |
| 4545 | | | default: |
| 4546 | | | str = "Reserved for other international standards"; |
| 4547 | | | break; |
| 4548 | | | } |
| 4549 | | | |
| 4550 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x60, 8); |
| 4551 | | | proto_tree_add_text(tree, |
| 4552 | | | tvb, curr_offset, 1, |
| 4553 | | | "%s : Coding Standard: %s", |
| 4554 | | | a_bigbuf, |
| 4555 | | | str); |
| 4556 | | | |
| 4557 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x10, 8); |
| 4558 | | | proto_tree_add_text(tree, |
| 4559 | | | tvb, curr_offset, 1, |
| 4560 | | | "%s : Reserved", |
| 4561 | | | a_bigbuf); |
| 4562 | | | |
| 4563 | | | switch (oct & 0x0f) |
| 4564 | | | { |
| 4565 | | | case 0: str = "User"; break; |
| 4566 | | | case 1: str = "Private network serving the local user"; break; |
| 4567 | | | case 2: str = "Public network serving the local user"; break; |
| 4568 | | | case 3: str = "Transit network"; break; |
| 4569 | | | case 4: str = "Public network serving the remote user"; break; |
| 4570 | | | case 5: str = "Private network serving the remote user"; break; |
| 4571 | | | case 7: str = "International network"; break; |
| 4572 | | | case 10: str = "Network beyond interworking point"; break; |
| 4573 | | | default: |
| 4574 | | | str = "Reserved"; break; |
| 4575 | | | break; |
Unreachable Control Flow
The highlighted code will not execute under any circumstances. This may be because of: |
|
| 4576 | | | } |
| 4577 | | | |
| 4578 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x0f, 8); |
| 4579 | | | proto_tree_add_text(tree, |
| 4580 | | | tvb, curr_offset, 1, |
| 4581 | | | "%s : Location: %s", |
| 4582 | | | a_bigbuf, |
| 4583 | | | str); |
| 4584 | | | |
| 4585 | | | curr_offset++; |
| 4586 | | | |
| 4587 | | | oct = tvb_get_guint8(tvb, curr_offset); |
| 4588 | | | |
| 4589 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x80, 8); |
| 4590 | | | proto_tree_add_text(tree, |
| 4591 | | | tvb, curr_offset, 1, |
| 4592 | | | "%s : Extension", |
| 4593 | | | a_bigbuf); |
| 4594 | | | |
| 4595 | | | switch ((oct & 0x70) >> 4) |
| 4596 | | | { |
| 4597 | | | case 0: str = "normal event"; break; |
| 4598 | | | case 1: str = "normal event"; break; |
| 4599 | | | case 2: str = "resource unavailable"; break; |
| 4600 | | | case 3: str = "service or option not available"; break; |
| 4601 | | | case 4: str = "service or option not implemented"; break; |
| 4602 | | | case 5: str = "invalid message (e.g., parameter out of range)"; break; |
| 4603 | | | case 6: str = "protocol error (e.g., unknown message)"; break; |
| 4604 | | | default: |
| 4605 | | | str = "interworking"; |
| 4606 | | | break; |
| 4607 | | | } |
| 4608 | | | |
| 4609 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x70, 8); |
| 4610 | | | proto_tree_add_text(tree, |
| 4611 | | | tvb, curr_offset, 1, |
| 4612 | | | "%s : Class: (%u) %s", |
| 4613 | | | a_bigbuf, |
| 4614 | | | (oct & 0x70) >> 4, |
| 4615 | | | str); |
| 4616 | | | |
| 4617 | | | switch (oct & 0x7f) |
| 4618 | | | { |
| 4619 | | | case 0x01: str = "Unassigned (unallocated) number"; break; |
| 4620 | | | case 0x03: str = "No route to destination"; break; |
| 4621 | | | case 0x06: str = "Channel unacceptable"; break; |
| 4622 | | | case 0x0F: str = "Procedure failed"; break; |
| 4623 | | | case 0x10: str = "Normal Clearing"; break; |
| 4624 | | | case 0x11: str = "User busy"; break; |
| 4625 | | | case 0x12: str = "No user responding"; break; |
| 4626 | | | case 0x13: str = "User alerting, no answer"; break; |
| 4627 | | | case 0x15: str = "Call rejected"; break; |
| 4628 | | | case 0x16: str = "Number changed New destination"; break; |
| 4629 | | | case 0x1A: str = "Non selected user clearing"; break; |
| 4630 | | | case 0x1B: str = "Destination out of order"; break; |
| 4631 | | | case 0x1C: str = "Invalid number format (incomplete number)"; break; |
| 4632 | | | case 0x1D: str = "Facility rejected"; break; |
| 4633 | | | case 0x1F: str = "Normal, unspecified"; break; |
| 4634 | | | case 0x22: str = "No circuit/channel available"; break; |
| 4635 | | | case 0x26: str = "Network out of order"; break; |
| 4636 | | | case 0x29: str = "Temporary failure"; break; |
| 4637 | | | case 0x2A: str = "Switching equipment congestion"; break; |
| 4638 | | | case 0x2B: str = "Access information discarded information element ids"; break; |
| 4639 | | | case 0x2C: str = "requested circuit/channel not available"; break; |
| 4640 | | | case 0x2F: str = "Resources unavailable, unspecified"; break; |
| 4641 | | | case 0x31: str = "Quality of service unavailable"; break; |
| 4642 | | | case 0x32: str = "Requested facility not subscribed"; break; |
| 4643 | | | case 0x33: str = "Request MUX option or rates unavailable"; break; |
| 4644 | | | case 0x39: str = "Bearer capability not authorized"; break; |
| 4645 | | | case 0x3A: str = "Bearer capability not presently available"; break; |
| 4646 | | | case 0x3B: str = "SSD Update Rejected"; break; |
| 4647 | | | case 0x3F: str = "Service or option not available, unspecified"; break; |
| 4648 | | | case 0x41: str = "Bearer service not implemented"; break; |
| 4649 | | | case 0x45: str = "Requested facility not implement"; break; |
| 4650 | | | case 0x46: str = "Only restricted digital information bearer capability is available"; break; |
| 4651 | | | case 0x4F: str = "Service or option not implemented, unspecified"; break; |
| 4652 | | | case 0x51: str = "Reserved"; break; |
| 4653 | | | case 0x58: str = "Incompatible destination incompatible parameter"; break; |
| 4654 | | | case 0x5B: str = "Invalid transit network selection"; break; |
| 4655 | | | case 0x5F: str = "Invalid message, unspecified"; break; |
| 4656 | | | case 0x60: str = "Mandatory information element error information element identifier(s)"; break; |
| 4657 | | | case 0x61: str = "Message type nonexistent or not implemented message type"; break; |
| 4658 | | | case 0x62: str = "Message not compatible with control state message type or message type nonexistent or not implemented"; break; |
| 4659 | | | case 0x64: str = "Invalid information element contents Information element Identifier(s)"; break; |
| 4660 | | | case 0x65: str = "Message not compatible with call state message type"; break; |
| 4661 | | | case 0x6F: str = "Protocol error, unspecified"; break; |
| 4662 | | | case 0x7F: str = "Interworking, unspecified"; break; |
| 4663 | | | default: |
| 4664 | | | str = "Reserved"; |
| 4665 | | | break; |
| 4666 | | | } |
| 4667 | | | |
| 4668 | | | other_decode_bitfield_value(a_bigbuf, oct, 0x0f, 8); |
| 4669 | | | proto_tree_add_text(tree, |
| 4670 | | | tvb, curr_offset, 1, |
| 4671 | | | "%s : Value: (%u)", |
| 4672 | | | a_bigbuf, |
| 4673 | | | oct & 0x0f); |
| 4674 | | | |
| 4675 | | | g_snprintf(add_string, string_len, " - (%u) %s", oct & 0x7f, str); |
| 4676 | | | |
| 4677 | | | curr_offset++; |
| 4678 | | | |
| 4679 | | | (len, curr_offset - offset);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-ansi_a.c |
| |
917 | #define (edc_len, edc_max_len) \ |
918 | if ((edc_len) > (edc_max_len)) \ |
919 | { \ |
920 | proto_tree_add_text(tree, tvb, \ |
921 | curr_offset, (edc_len) - (edc_max_len), " Data"); \ |
922 | curr_offset += ((edc_len) - (edc_max_len)); \ |
923 | } |
| |
|
| 4680 | | | |
| 4681 | | | return(curr_offset - offset); |
| 4682 | | | } |
| |