Text   |  XML   |  ReML   |   Visible Warnings:

Useless Assignment  at packet-dis-fields.c:433

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

parseField_Enum

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-dis-fields.c)expand/collapse
Show more  
 378  gint parseField_Enum(tvbuff_t *tvb, proto_tree *tree, gint offset, DIS_ParserNode parserNode, guint numBytes)
 379  {
 380      const value_string *enumStrings = 0;
 381      guint32 enumVal = 0;
 382      const gchar *enumStr = 0;
 383   
 384      offset = alignOffset(offset, numBytes);
 385   
 386      switch(parserNode.fieldType)
 387      {
 388      case DIS_FIELDTYPE_PROTOCOL_VERSION:
 389          enumStrings = DIS_PDU_ProtocolVersion_Strings;
 390          break;
 391      case DIS_FIELDTYPE_PROTOCOL_FAMILY:
 392          enumStrings = DIS_PDU_ProtocolFamily_Strings;
 393          break;
 394      case DIS_FIELDTYPE_PDU_TYPE:
 395          enumStrings = DIS_PDU_Type_Strings;
 396          break;
 397      case DIS_FIELDTYPE_ENTITY_KIND:
 398          enumStrings = DIS_PDU_EntityKind_Strings;
 399          break;
 400      case DIS_FIELDTYPE_DOMAIN:
 401          enumStrings = DIS_PDU_Domain_Strings;
 402          break;
 403      case DIS_FIELDTYPE_DETONATION_RESULT:
 404          enumStrings = DIS_PDU_DetonationResult_Strings;
 405          break;
 406      case DIS_FIELDTYPE_CATEGORY:
 407          if (entityKind == DIS_ENTITYKIND_PLATFORM)
 408          {
 409              switch(entityDomain)
 410              {
 411              case DIS_DOMAIN_LAND:
 412                  enumStrings = DIS_PDU_Category_LandPlatform_Strings;
 413                  break;
 414              case DIS_DOMAIN_AIR:
 415                  enumStrings = DIS_PDU_Category_AirPlatform_Strings;
 416                  break;
 417              case DIS_DOMAIN_SURFACE:
 418                  enumStrings = DIS_PDU_Category_SurfacePlatform_Strings;
 419                  break;
 420              case DIS_DOMAIN_SUBSURFACE:
 421                  enumStrings = DIS_PDU_Category_SubsurfacePlatform_Strings;
 422                  break;
 423              case DIS_DOMAIN_SPACE:
 424                  enumStrings = DIS_PDU_Category_SpacePlatform_Strings;
 425                  break;
 426              default:
 427                  enumStrings = 0;
 428                  break;
 429              }
 430          }
 431          break;
 432      default:
 433          enumStrings = 0;
 434          break;  
 435      }
 436   
 437      switch(numBytes)
 438      {
 439      case 1:
 440          enumVal = tvb_get_guint8(tvb, offset);
 441          break;
 442      case 2:
 443          enumVal = tvb_get_ntohs(tvb, offset);
 444          break;
 445      case 4:
 446          enumVal = tvb_get_ntohl(tvb, offset);
 447          break;
 448      default:
 449          /* assert */
 450          break;
 451      }
 452   
 453      if (enumStrings != 0)
 454      {
 455          enumStr = val_to_str(enumVal, enumStrings, "Unknown Enum Value");
 456      }
 457      else 
 458      {
 459          enumStr = "Unknown Enum Type";
 460      }
 461   
 462      proto_tree_add_text(tree, tvb, offset, numBytes, "%s = %s",
 463          parserNode.fieldLabel, enumStr);
 464   
 465      if (parserNode.outputVar != 0)
 466      {
 467          *(parserNode.outputVar) = enumVal;
 468      }
 469   
 470      offset += numBytes;
 471   
 472      return offset;
 473  }
Show more  




Change Warning 2300.31277 : Useless Assignment

Because they are very similar, this warning shares annotations with warning 2300.31278.

Priority:
State:
Finding:
Owner:
Note: