(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-dcom-dispatch.c) |
| |
| 424 | | | dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset, |
| 425 | | | packet_info *pinfo, proto_tree *tree, guint8 *drep) |
| 426 | | | { |
| 427 | | | guint32 u32Pointer; |
| 428 | | | guint32 u32Pointer2; |
| 429 | | | guint32 u32Pointer3; |
| 430 | | | guint32 u32VariableOffset; |
| 431 | | | guint32 u32ArraySize; |
| 432 | | | guint32 u32SubStart; |
| 433 | | | guint16 u16Code; |
| 434 | | | guint16 u16Reserved; |
| 435 | | | guint32 u32HelpContext; |
| 436 | | | guint32 u32Reserved; |
| 437 | | | guint32 u32DeferredFillIn; |
| 438 | | | guint32 u32ArgErr; |
| 439 | | | guint32 u32HResult; |
| 440 | | | guint32 u32SCode; |
| 441 | | | guint32 u32VarRef; |
| 442 | | | gchar szName[1000] = { 0 }; |
| 443 | | | proto_item *excepinfo_item; |
| 444 | | | proto_tree *excepinfo_tree; |
| 445 | | | |
| 446 | | | |
| 447 | | | offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep); |
| 448 | | | |
| 449 | | | offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep, |
| 450 | | | &u32Pointer); |
| 451 | | | if (u32Pointer) { |
Event 1:
Skipping " if". u32Pointer evaluates to false.
hide
|
|
| 452 | | | offset = dissect_dcom_VARIANT(tvb, offset, pinfo, tree, drep, hf_dispatch_varresult); |
| 453 | | | } |
| 454 | | | |
| 455 | | | |
| 456 | | | excepinfo_item = proto_tree_add_item(tree, hf_dispatch_excepinfo, tvb, offset, 0, FALSE); |
| 457 | | | excepinfo_tree = proto_item_add_subtree (excepinfo_item, ett_dispatch_excepinfo); |
| 458 | | | u32SubStart = offset; |
| 459 | | | |
| 460 | | | offset = dissect_dcom_WORD(tvb, offset, pinfo, excepinfo_tree, drep, |
| 461 | | | hf_dispatch_code, &u16Code); |
| 462 | | | offset = dissect_dcom_WORD(tvb, offset, pinfo, excepinfo_tree, drep, |
| 463 | | | hf_dispatch_reserved16, &u16Reserved); |
| 464 | | | offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, drep, |
| 465 | | | &u32Pointer); |
| 466 | | | offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, drep, |
| 467 | | | &u32Pointer2); |
| 468 | | | offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, excepinfo_tree, drep, |
| 469 | [+] | | &u32Pointer3); |
Event 2:
dissect_dcom_dcerpc_pointer() does not initialize u32Pointer3. - This may be because of a failure case or other special case for dissect_dcom_dcerpc_pointer().
hide
|
|
 |
| 470 | | | offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep, |
| 471 | | | hf_dispatch_help_context, &u32HelpContext); |
| 472 | | | offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep, |
| 473 | | | hf_dispatch_reserved32, &u32Reserved); |
| 474 | | | offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep, |
| 475 | | | hf_dispatch_deferred_fill_in, &u32DeferredFillIn); |
| 476 | | | offset = dissect_dcom_DWORD(tvb, offset, pinfo, excepinfo_tree, drep, |
| 477 | | | hf_dispatch_scode, &u32SCode); |
| 478 | | | |
| 479 | | | if (u32Pointer) { |
Event 6:
Skipping " if". u32Pointer evaluates to false.
hide
|
|
| 480 | | | offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, drep, |
| 481 | | | hf_dispatch_source, szName, sizeof(szName)); |
| 482 | | | } |
| 483 | | | if (u32Pointer2) { |
Event 7:
Skipping " if". u32Pointer2 evaluates to false.
hide
|
|
| 484 | | | offset = dissect_dcom_BSTR(tvb, offset, pinfo, excepinfo_tree, drep, |
| 485 | | | hf_dispatch_description, szName, sizeof(szName)); |
| 486 | | | } |
| 487 | | | if (u32Pointer3) { |
Uninitialized Variable
u32Pointer3 was not initialized. The issue can occur if the highlighted code executes. See related events 2 and 4. Show: All events | Only primary events |
|
| |