Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Control Flow  at gencode.c:337

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

gen_test

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dfilter/gencode.c)expand/collapse
Show more  
 323  gen_test(dfwork_t *dfw, stnode_t *st_node)
 324  {
 325          test_op_t       st_op;
 326          stnode_t        *st_arg1, *st_arg2;
 327          dfvm_value_t    *val1;
 328          dfvm_insn_t     *insn;
 329   
 330          header_field_info       *hfinfo;
 331   
 332          sttype_test_get(st_node, &st_op, &st_arg1, &st_arg2);
 333   
 334          switch (st_op) {
 335                  case TEST_OP_UNINITIALIZED:
 336                          g_assert_not_reached();
 337                          break;
 338   
 339                  case TEST_OP_EXISTS:
 340                          val1 = dfvm_value_new(HFINFO);
 341                          hfinfo = stnode_data(st_arg1);
 342   
 343                          /* Rewind to find the first field of this name. */
 344                          while (hfinfo->same_name_prev) {
 345                                  hfinfo = hfinfo->same_name_prev;
 346                          }
 347                          val1->value.hfinfo = hfinfo;
 348                          insn = dfvm_insn_new(CHECK_EXISTS);
 349                          insn->arg1 = val1;
 350                          dfw_append_insn(dfw, insn);
 351   
 352                          /* Record the FIELD_ID in hash of interesting fields. */
 353                          while (hfinfo) {
 354                                  g_hash_table_insert(dfw->interesting_fields,
 355                                          GINT_TO_POINTER(hfinfo->id),
 356                                          GUINT_TO_POINTER(TRUE));
 357                                  hfinfo = hfinfo->same_name_next;
 358                          }
 359   
 360                          break;
 361   
 362                  case TEST_OP_NOT:
 363                          gencode(dfw, st_arg1);
 364                          insn = dfvm_insn_new(NOT);
 365                          dfw_append_insn(dfw, insn);
 366                          break;
 367   
 368                  case TEST_OP_AND:
 369                          gencode(dfw, st_arg1);
 370   
 371                          insn = dfvm_insn_new(IF_FALSE_GOTO);
 372                          val1 = dfvm_value_new(INSN_NUMBER);
 373                          insn->arg1 = val1;
 374                          dfw_append_insn(dfw, insn);
 375   
 376                          gencode(dfw, st_arg2);
 377                          val1->value.numeric = dfw->next_insn_id;
 378                          break;
 379   
 380                  case TEST_OP_OR:
 381                          gencode(dfw, st_arg1);
 382   
 383                          insn = dfvm_insn_new(IF_TRUE_GOTO);
 384                          val1 = dfvm_value_new(INSN_NUMBER);
 385                          insn->arg1 = val1;
 386                          dfw_append_insn(dfw, insn);
 387   
 388                          gencode(dfw, st_arg2);
 389                          val1->value.numeric = dfw->next_insn_id;
 390                          break;
 391   
 392                  case TEST_OP_EQ:
 393                          gen_relation(dfw, ANY_EQ, st_arg1, st_arg2);
 394                          break;
 395   
 396                  case TEST_OP_NE:
 397                          gen_relation(dfw, ANY_NE, st_arg1, st_arg2);
 398                          break;
 399   
 400                  case TEST_OP_GT:
 401                          gen_relation(dfw, ANY_GT, st_arg1, st_arg2);
 402                          break;
 403   
 404                  case TEST_OP_GE:
 405                          gen_relation(dfw, ANY_GE, st_arg1, st_arg2);
 406                          break;
 407   
 408                  case TEST_OP_LT:
 409                          gen_relation(dfw, ANY_LT, st_arg1, st_arg2);
 410                          break;
 411   
 412                  case TEST_OP_LE:
 413                          gen_relation(dfw, ANY_LE, st_arg1, st_arg2);
 414                          break;
 415   
 416                  case TEST_OP_BITWISE_AND:
 417                          gen_relation(dfw, ANY_BITWISE_AND, st_arg1, st_arg2);
 418                          break;
 419   
 420                  case TEST_OP_CONTAINS:
 421                          gen_relation(dfw, ANY_CONTAINS, st_arg1, st_arg2);
 422                          break;
 423   
 424                  case TEST_OP_MATCHES:
 425                          gen_relation(dfw, ANY_MATCHES, st_arg1, st_arg2);
 426                          break;
 427          }
 428  }
Show more  




Change Warning 1164.30216 : Unreachable Control Flow

Priority:
State:
Finding:
Owner:
Note: