Text   |  XML   |  ReML   |   Visible Warnings:

Redundant Condition  at semcheck.c:358

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

check_drange_node_sanity

(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dfilter/semcheck.c)expand/collapse
Show more  
 351  check_drange_node_sanity(gpointer data, gpointer user_data)
 352  {
 353          drange_node*            drnode = data;
 354          struct check_drange_sanity_args *args = user_data;
 355          gint                    start_offset, end_offset, length;
 356          header_field_info       *hfinfo;
 357   
 358          switch (drange_node_get_ending(drnode)) {
 359   
 360          case LENGTH:
 361                  length = drange_node_get_length(drnode);
 362                  if (length <= 0) {
 363                          if (!args->err) {
 364                                  args->err = TRUE;
 365                                  start_offset = drange_node_get_start_offset(drnode);
 366                                  hfinfo = sttype_range_hfinfo(args->st);
 367                                  dfilter_fail("Range %d:%d specified for \"%s\" isn't valid, "
 368                                          "as length %d isn't positive",
 369                                          start_offset, length,
 370                                          hfinfo->abbrev,
 371                                          length);
 372                          }
 373                  }
 374                  break;
 375   
 376          case OFFSET:
 377                  /*
 378                   * Make sure the start offset isn't beyond the end 
 379                   * offset.  This applies to negative offsets too.
 380                   */
 381   
 382                  /* XXX - [-ve - +ve] is probably pathological, but isn't
 383                   * disallowed.
 384                   * [+ve - -ve] is probably pathological too, and happens to be
 385                   * disallowed.
 386                   */
 387                  start_offset = drange_node_get_start_offset(drnode);
 388                  end_offset = drange_node_get_end_offset(drnode);
 389                  if (start_offset > end_offset) {
 390                          if (!args->err) {
 391                                  args->err = TRUE;
 392                                  hfinfo = sttype_range_hfinfo(args->st);
 393                                  dfilter_fail("Range %d-%d specified for \"%s\" isn't valid, "
 394                                          "as %d is greater than %d",
 395                                          start_offset, end_offset,
 396                                          hfinfo->abbrev,
 397                                          start_offset, end_offset);
 398                          }
 399                  }
 400                  break;
 401   
 402          case TO_THE_END:
 403                  break;
 404   
 405          case UNINITIALIZED:
 406          default:
 407                  g_assert_not_reached();
 408          }
 409  }
Show more  




Change Warning 1174.29861 : Redundant Condition

Priority:
State:
Finding:
Owner:
Note: