(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dfilter/semcheck.c) |
| |
| 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 | | | *hfinfo; |
| 357 | | | |
| 358 | | | switch (drange_node_get_ending(drnode)) { |
Redundant Condition
drange_node_get_ending(drnode) == 0 always evaluates to false. This may be because: - There is a constant assignment to one or more of the variables involved.
- An earlier conditional statement has already ensured that drange_node_get_ending(drnode) == 0 cannot be true.
- A crashing bug occurs on every path where drange_node_get_ending(drnode) == 0 could have evaluated to true. Look for a preceding Null Pointer Dereference or Division By Zero warning.
|
|
| 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 | | | |
| 379 | | | |
| 380 | | | |
| 381 | | | |
| 382 | | | |
| 383 | | | |
| 384 | | | |
| 385 | | | |
| 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();
x /usr/include/glib-2.0/glib/gtestutils.h |
| |
73 | #define g_assert_not_reached() do { g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } while (0) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
160 | # define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) |
| |
|
| 408 | | | } |
| 409 | | | } |
| |