Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Call  at proto.c:4174

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

proto_item_fill_label

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.c)expand/collapse
Show more  
 3996  proto_item_fill_label(field_info *fi, gchar *label_str)
 3997  {
 3998          header_field_info               *hfinfo = fi->hfinfo;
 3999   
 4000          guint8                          *bytes;
 4001          guint32                         integer;
 4002          ipv4_addr                       *ipv4;
 4003          e_guid_t                        *guid;
 4004          guint32                         n_addr; /* network-order IPv4 address */
 4005          const gchar                     *name;
 4006          int                                     ret;    /*tmp return value */
 4007   
 4008          switch(hfinfo->type) {
 4009                  case FT_NONE:
 4010                  case FT_PROTOCOL:
 4011                          g_strlcpy(label_str, hfinfo->name, ITEM_LABEL_LENGTH);
 4012                          break;
 4013   
 4014                  case FT_BOOLEAN:
 4015                          fill_label_boolean(fi, label_str);
 4016                          break;
 4017   
 4018                  case FT_BYTES:
 4019                  case FT_UINT_BYTES:
 4020                          bytes = fvalue_get(&fi->value);
 4021                          if (bytes) {
 4022                                  ret = g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4023                                          "%s: %s", hfinfo->name,
 4024                                           bytes_to_str(bytes, fvalue_length(&fi->value)));
 4025                                  if (ret >= ITEM_LABEL_LENGTH) {
 4026                                          /* Uh oh, we don't have enough room.  Tell the 
 4027                                           *  user that the field is truncated.
 4028                                           */
 4029                                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4030                                                           "%s [truncated]: %s",
 4031                                                           hfinfo->name,
 4032                                                           bytes_to_str(bytes, fvalue_length(&fi->value)));
 4033                                  }
 4034                          }
 4035                          else {
 4036                                  g_snprintf(label_str, ITEM_LABEL_LENGTH, "%s: <MISSING>", hfinfo->name);
 4037                          }
 4038                          break;
 4039   
 4040                  /* Four types of integers to take care of:
 4041                   *      Bitfield, with val_string
 4042                   *      Bitfield, w/o val_string 
 4043                   *      Non-bitfield, with val_string
 4044                   *      Non-bitfield, w/o val_string 
 4045                   */
 4046                  case FT_UINT8:
 4047                  case FT_UINT16:
 4048                  case FT_UINT24:
 4049                  case FT_UINT32:
 4050                  case FT_FRAMENUM:
 4051                          if (hfinfo->bitmask) {
 4052                                  fill_label_bitfield(fi, label_str);
 4053                          } else {
 4054                                  fill_label_uint(fi, label_str);
 4055                          }
 4056                          break;
 4057   
 4058                  case FT_UINT64:
 4059                          fill_label_uint64(fi, label_str);
 4060                          break;
 4061   
 4062                  case FT_INT8:
 4063                  case FT_INT16:
 4064                  case FT_INT24:
 4065                  case FT_INT32:
 4066                          DISSECTOR_ASSERT(!hfinfo->bitmask);
 4067                          fill_label_int(fi, label_str);
 4068                          break;
 4069   
 4070                  case FT_INT64:
 4071                          fill_label_int64(fi, label_str);
 4072                          break;
 4073   
 4074                  case FT_FLOAT:
 4075                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4076                                  "%s: %." STRINGIFY(FLT_DIG) "f",
 4077                                  hfinfo->name, fvalue_get_floating(&fi->value));
 4078                          break;
 4079   
 4080                  case FT_DOUBLE:
 4081                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4082                                  "%s: %." STRINGIFY(DBL_DIG) "g",
 4083                                  hfinfo->name, fvalue_get_floating(&fi->value));
 4084                          break;
 4085   
 4086                  case FT_ABSOLUTE_TIME:
 4087                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4088                                  "%s: %s", hfinfo->name,
 4089                                  abs_time_to_str(fvalue_get(&fi->value)));
 4090                          break;
 4091   
 4092                  case FT_RELATIVE_TIME:
 4093                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4094                                  "%s: %s seconds", hfinfo->name,
 4095                                  rel_time_to_secs_str(fvalue_get(&fi->value)));
 4096                          break;
 4097   
 4098                  case FT_IPXNET:
 4099                          integer = fvalue_get_uinteger(&fi->value);
 4100                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4101                                  "%s: %s (0x%08X)", hfinfo->name,
 4102                                  get_ipxnet_name(integer), integer);
 4103                          break;
 4104   
 4105                  case FT_ETHER:
 4106                          bytes = fvalue_get(&fi->value);
 4107                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4108                                  "%s: %s (%s)", hfinfo->name,
 4109                                  get_ether_name(bytes),
 4110                                  ether_to_str(bytes));
 4111                          break;
 4112   
 4113                  case FT_IPv4:
 4114                          ipv4 = fvalue_get(&fi->value);
 4115                          n_addr = ipv4_get_net_order_addr(ipv4);
 4116                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4117                                  "%s: %s (%s)", hfinfo->name,
 4118                                  get_hostname(n_addr),
 4119                                  ip_to_str((guint8*)&n_addr));
 4120                          break;
 4121   
 4122                  case FT_IPv6:
 4123                          bytes = fvalue_get(&fi->value);
 4124                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4125                                  "%s: %s (%s)", hfinfo->name,
 4126                                  get_hostname6((struct e_in6_addr *)bytes),
 4127                                  ip6_to_str((struct e_in6_addr*)bytes));
 4128                          break;
 4129   
 4130                  case FT_GUID:
 4131                          guid = fvalue_get(&fi->value);
 4132                          g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4133                                  "%s: %s", hfinfo->name,
 4134                                   guid_to_str(guid));
 4135                          break;
 4136   
 4137                  case FT_OID:
 4138                          bytes = fvalue_get(&fi->value);
 4139                          name = oid_resolved_from_encoded(bytes, fvalue_length(&fi->value));
 4140                          if (name) {
 4141                                  g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4142                                          "%s: %s (%s)", hfinfo->name,
 4143                                           oid_encoded2string(bytes, fvalue_length(&fi->value)), name);
 4144                          } else {
 4145                                  g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4146                                          "%s: %s", hfinfo->name,
 4147                                           oid_encoded2string(bytes, fvalue_length(&fi->value)));
 4148                          }
 4149                          break;
 4150   
 4151                  case FT_STRING:
 4152                  case FT_STRINGZ:
 4153                  case FT_EBCDIC:
 4154                  case FT_UINT_STRING:
 4155                          bytes = fvalue_get(&fi->value);
 4156                          ret = g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4157                                           "%s: %s", hfinfo->name,
 4158                                           format_text(bytes, strlen(bytes)));
 4159                          if (ret >= ITEM_LABEL_LENGTH) {
 4160                                  /* Uh oh, we don't have enough room.  Tell the 
 4161                                   *  user that the field is truncated.
 4162                                   */
 4163                                  g_snprintf(label_str, ITEM_LABEL_LENGTH,
 4164                                                   "%s [truncated]: %s",
 4165                                                   hfinfo->name,
 4166                                                   format_text(bytes, strlen(bytes)));
 4167                          }
 4168                          break;
 4169   
 4170                  default:
 4171                          g_error("hfinfo->type %d (%s) not handled\n",
 4172                                          hfinfo->type,
 4173                                          ftype_name(hfinfo->type));
 4174                          DISSECTOR_ASSERT_NOT_REACHED();
 4175                          break;
 4176          }
 4177  }
Show more  




Change Warning 1213.30590 : Unreachable Call

Priority:
State:
Finding:
Owner:
Note: