Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Control Flow  at packet-asap.c:192

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

dissect_error_cause

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-asap.c)expand/collapse
Show more  
 166  dissect_error_cause(tvbuff_t *cause_tvb, proto_tree *parameter_tree)
 167  {
 168    guint16 code, length, padding_length;
 169    proto_item *cause_item;
 170    proto_tree *cause_tree;
 171    tvbuff_t *parameter_tvb, *message_tvb;
 172   
 173    code           = tvb_get_ntohs(cause_tvb, CAUSE_CODE_OFFSET);
 174    length         = tvb_get_ntohs(cause_tvb, CAUSE_LENGTH_OFFSET);
 175    padding_length = tvb_length(cause_tvb) - length;
 176   
 177    cause_item = proto_tree_add_text(parameter_tree, cause_tvb, CAUSE_HEADER_OFFSET, tvb_length(cause_tvb), "%s", val_to_str(code, cause_code_values, "Unknown error cause"));
 178    cause_tree = proto_item_add_subtree(cause_item, ett_asap_cause);
 179   
 180    proto_tree_add_item(cause_tree, hf_cause_code,   cause_tvb, CAUSE_CODE_OFFSET,   CAUSE_CODE_LENGTH,   NETWORK_BYTE_ORDER);
 181    proto_tree_add_item(cause_tree, hf_cause_length, cause_tvb, CAUSE_LENGTH_OFFSET, CAUSE_LENGTH_LENGTH, NETWORK_BYTE_ORDER);
 182   
 183    switch(code) {
 184    case UNRECOGNIZED_PARAMETER_CAUSE_CODE:
 185      parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1);
 186      dissect_parameter(parameter_tvb, cause_tree);
 187      break;
 188    case UNRECONGNIZED_MESSAGE_CAUSE_CODE:
 189      message_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1);
 190      dissect_asap(message_tvb, NULL, cause_tree);
 191      break;
 192      break;
 193    case INVALID_VALUES:
 194      parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1);
 195      dissect_parameter(parameter_tvb, cause_tree);
 196      break;
 197    case NON_UNIQUE_PE_IDENTIFIER:
 198      break;
 199    case POOLING_POLICY_INCONSISTENT_CAUSE_CODE:
 200      parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1);
 201      dissect_parameter(parameter_tvb, cause_tree);
 202      break;
 203    case LACK_OF_RESOURCES_CAUSE_CODE:
 204      break;
 205    case INCONSISTENT_TRANSPORT_TYPE_CAUSE_CODE:
 206      parameter_tvb = tvb_new_subset(cause_tvb, CAUSE_INFO_OFFSET, -1, -1);
 207      dissect_parameter(parameter_tvb, cause_tree);
 208      break;
 209    case INCONSISTENT_DATA_CONTROL_CONFIGURATION_CAUSE_CODE:
 210      break;
 211    case UNKNOWN_POOL_HANDLE:
 212      break;
 213    case REJECTION_DUE_TO_SECURITY_CAUSE_CODE:
 214      break;
 215    default:
 216      dissect_unknown_cause(cause_tvb, cause_tree, cause_item);
 217      break;
 218    }
 219    if (padding_length > 0)
 220      proto_tree_add_item(cause_tree, hf_cause_padding, cause_tvb, CAUSE_HEADER_OFFSET + length, padding_length, NETWORK_BYTE_ORDER);
 221  }
Show more  




Change Warning 1918.34047 : Unreachable Control Flow

Priority:
State:
Finding:
Owner:
Note: