(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-giop.c) |
| |
| 3487 | | | dissect_giop_request_1_2 (tvbuff_t * tvb, packet_info * pinfo, |
| 3488 | | | proto_tree * tree, |
| 3489 | | | * , gboolean stream_is_big_endian) |
| 3490 | | | { |
| 3491 | | | guint32 offset = 0; |
| 3492 | | | guint32 request_id; |
| 3493 | | | guint32 len = 0; |
| 3494 | | | guint8 response_flags; |
| 3495 | | | gchar *reserved; |
| 3496 | | | gchar *operation = NULL; |
| 3497 | | | proto_tree *request_tree = NULL; |
| 3498 | | | proto_item *tf; |
| 3499 | | | gboolean exres = FALSE; |
| 3500 | | | |
| 3501 | | | guint32 objkey_len = 0; |
| 3502 | | | gchar *objkey = NULL; |
| 3503 | | | gchar *repoid = NULL; |
| 3504 | | | |
| 3505 | | | if (tree) |
| 3506 | | | { |
| 3507 | | | tf = proto_tree_add_text (tree, tvb, offset, -1, |
| 3508 | | | "General Inter-ORB Protocol Request"); |
| 3509 | | | request_tree = proto_item_add_subtree (tf, ett_giop_reply); |
| 3510 | | | } |
| 3511 | | | |
| 3512 | | | request_id = get_CDR_ulong(tvb, &offset, stream_is_big_endian,); |
Ignored Return Value
The return value of get_CDR_ulong() is never checked in the highlighted execution scenario. - If the return value can indicate an error, the error will be ignored if the highlighted code executes.
- The return value of get_CDR_ulong() is checked 97% of the time in this project. CodeSonar is configured to enforce Ignored Return Value checks for any function whose return value is checked at least 96% of the time, unless the function is used fewer than 20 times. (To modify these thresholds, use configuration file parameters RETURN_CHECKER_SAMPLE_SIZE and RETURN_CHECKER_RATIO. To exempt get_CDR_ulong() from the Ignored Return Value check, use configuration file parameter RETURN_CHECKER_IGNORED_FUNCS).
Show: All events | Only primary events |
|
| 3513 | | | if (check_col(pinfo->cinfo, COL_INFO)) |
Event 2:
Skipping " if". check_col(...) evaluates to false.
hide
|
|
| 3514 | | | { |
| 3515 | | | col_append_fstr(pinfo->cinfo, COL_INFO, " id=%u", request_id); |
| 3516 | | | } |
| 3517 | | | if (request_tree) |
Event 3:
Skipping " if". request_tree evaluates to false.
hide
|
|
| 3518 | | | { |
| 3519 | | | proto_tree_add_uint (request_tree, hf_giop_req_id, tvb, offset-4, 4, request_id); |
| 3520 | | | } |
| 3521 | | | |
| 3522 | | | response_flags = tvb_get_guint8( tvb, offset ); |
| 3523 | | | offset += 1; |
| 3524 | | | if (request_tree) |
Event 4:
Skipping " if". request_tree evaluates to false.
hide
|
|
| 3525 | | | { |
| 3526 | | | proto_tree_add_text (request_tree, tvb, offset-1, 1, |
| 3527 | | | "Response flags: %s (%u)", |
| 3528 | | | val_to_str(response_flags, response_flags_vals, "(0x%x)"), |
| 3529 | | | response_flags); |
| 3530 | | | } |
| 3531 | | | |
| 3532 | | | get_CDR_octet_seq( tvb, &reserved, &offset, 3); |
| 3533 | | | if (request_tree) |
Event 5:
Skipping " if". request_tree evaluates to false.
hide
|
|
| 3534 | | | { |
| 3535 | | | proto_tree_add_text (request_tree, tvb, offset-3, 3, |
| 3536 | | | "Reserved: %x %x %x", reserved[0], reserved[1], reserved[2]); |
| 3537 | | | } |
| 3538 | | | g_free(reserved); |
| 3539 | | | |
| 3540 | | | dissect_target_address(tvb, pinfo, &offset, request_tree, stream_is_big_endian, |
| 3541 | | | &objkey_len, &objkey); |
| 3542 | | | if (objkey) { |
Event 6:
Taking true branch. objkey evaluates to true.
hide
|
|
| 3543 | | | repoid = get_repoid_from_objkey(giop_objkey_hash, objkey, objkey_len); |
| 3544 | | | g_free(objkey); |
| 3545 | | | } |
| 3546 | | | |
| 3547 | | | |
| 3548 | | | len = get_CDR_string(tvb, &operation, &offset, stream_is_big_endian,); |
| 3549 | | | if(tree) |
Event 7:
Skipping " if". tree evaluates to false.
hide
|
|
| 3550 | | | { |
| 3551 | | | proto_tree_add_text (request_tree, tvb, offset - len - 4, 4, |
| 3552 | | | "Operation length: %u", len); |
| 3553 | | | } |
| 3554 | | | |
| 3555 | | | if( len > 0) |
Event 8:
Taking true branch. len > 0 evaluates to true.
hide
|
|
| 3556 | | | { |
| 3557 | | | if (check_col(pinfo->cinfo, COL_INFO)) |
Event 9:
Taking true branch. check_col(...) evaluates to true.
hide
|
|
| 3558 | | | { |
| 3559 | | | col_append_fstr(pinfo->cinfo, COL_INFO, ": op=%s", operation); |
| 3560 | | | } |
| 3561 | | | if(request_tree) |
Event 10:
Skipping " if". request_tree evaluates to false.
hide
|
|
| 3562 | | | { |
| 3563 | | | proto_tree_add_string (request_tree,hf_giop_req_operation, tvb, offset - len, len, operation); |
| 3564 | | | |
| 3565 | | | } |
| 3566 | | | |
| 3567 | | | } |
| 3568 | | | |
| 3569 | | | |
| 3570 | | | |
| 3571 | | | |
| 3572 | | | |
| 3573 | | | CLEANUP_PUSH(g_free, operation);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/except.h |
| |
124 | #define except_cleanup_push(F, C) \ |
125 | { \ |
126 | struct except_stacknode except_sn; \ |
127 | struct except_cleanup except_cl; \ |
128 | except_setup_clean(&except_sn, &except_cl, F, C) |
| |
|
| 3574 | | | |
| 3575 | | | |
| 3576 | | | |
| 3577 | | | |
| 3578 | | | |
| 3579 | | | decode_ServiceContextList(tvb, request_tree, &offset, stream_is_big_endian, ); |
| 3580 | | | |
| 3581 | | | |
| 3582 | | | |
| 3583 | | | |
| 3584 | | | |
| 3585 | | | |
| 3586 | | | |
| 3587 | | | if (tvb_reported_length_remaining(tvb, offset) > 0) |
Event 11:
Skipping " if". tvb_reported_length_remaining(...) > 0 evaluates to false.
hide
|
|
| 3588 | | | { |
| 3589 | | | set_new_alignment(&offset, , 8); |
| 3590 | | | } |
| 3591 | | | |
| 3592 | | | |
| 3593 | | | |
| 3594 | | | |
| 3595 | | | |
| 3596 | | | |
| 3597 | | | if (! pinfo->fd->flags.visited) |
Event 12:
Skipping " if". pinfo->fd->flags.visited evaluates to true.
hide
|
|
| 3598 | | | giop_complete_request_list = insert_in_comp_req_list(giop_complete_request_list,pinfo->fd->num, |
| 3599 | | | request_id,operation,NULL); |
| 3600 | | | |
| 3601 | | | |
| 3602 | | | |
| 3603 | | | |
| 3604 | | | |
| 3605 | | | |
| 3606 | | | |
| 3607 | | | |
| 3608 | | | if(repoid) { |
Event 13:
Taking true branch. repoid evaluates to true.
hide
|
|
| 3609 | | | exres = try_explicit_giop_dissector(tvb,pinfo,tree,&offset,,operation,repoid); |
| 3610 | | | } |
| 3611 | | | |
| 3612 | | | |
| 3613 | | | |
| 3614 | | | if (! exres) { |
Event 14:
Taking true branch. exres evaluates to false.
hide
|
|
| 3615 | | | exres = try_heuristic_giop_dissector(tvb,pinfo,tree,&offset,,operation); |
| 3616 | | | } |
| 3617 | | | |
| 3618 | | | if (!exres && !strcmp(giop_op_is_a, operation) && request_tree) { |
Event 15:
Skipping " if". - exres evaluates to false.
- strcmp(...) evaluates to false.
- request_tree evaluates to false.
hide
|
|
| 3619 | | | gchar *type_id; |
| 3620 | | | len = get_CDR_string(tvb, &type_id, &offset, stream_is_big_endian, 0); |
| 3621 | | | proto_tree_add_text(request_tree, tvb, offset - len - 4, 4, |
| 3622 | | | "Type Id length: %d", len); |
| 3623 | | | proto_tree_add_text(request_tree, tvb, offset - len, len, |
| 3624 | | | "Type Id: %s", type_id); |
| 3625 | | | } |
| 3626 | | | |
| 3627 | | | if(! exres) { |
Event 16:
Taking true branch. exres evaluates to false.
hide
|
|
| 3628 | | | gint stub_length = tvb_reported_length_remaining(tvb, offset); |
| 3629 | | | if (stub_length >0) |
Event 17:
Taking true branch. stub_length > 0 evaluates to true.
hide
|
|
| 3630 | | | proto_tree_add_text(request_tree, tvb, offset, -1, |
| 3631 | | | "Stub data (%d byte%s)", stub_length, |
| 3632 | | | plurality(stub_length, "", "s")); |
Event 18:
stub_length == 1 evaluates to true.
hide
|
|
| 3633 | | | } |
| 3634 | | | |
| 3635 | | | |
| 3636 | | | |
| 3637 | | | |
| 3638 | | | |
| 3639 | | | CLEANUP_CALL_AND_POP;
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/except.h |
| |
130 | #define except_cleanup_pop(E) \ |
131 | except_pop(); \ |
132 | if (E) \ |
133 | except_cl.except_func(except_cl.except_context); \ |
134 | } |
| |
|
Event 19:
Taking true branch. 1 evaluates to true.
hide
|
|
| 3640 | | | } |
| |