(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-dcerpc-spoolss.c) |
| |
| 6608 | | | dissect_spoolss_printer_enum_values(tvbuff_t *tvb, int offset, |
| 6609 | | | packet_info *pinfo, proto_tree *tree, |
| 6610 | | | guint8 *drep) |
| 6611 | | | { |
| 6612 | | | guint32 start_offset = offset; |
| 6613 | | | guint32 name_offset, name_len, val_offset, val_len, val_type; |
| 6614 | | | char *name; |
| 6615 | | | proto_item *item; |
| 6616 | | | proto_tree *subtree; |
| 6617 | | | |
| 6618 | | | |
| 6619 | | | |
| 6620 | | | offset = dissect_ndr_uint32( |
| 6621 | | | tvb, offset, pinfo, NULL, drep, |
| 6622 | | | hf_enumprinterdataex_name_offset, &name_offset); |
| 6623 | | | |
| 6624 | | | offset = dissect_ndr_uint32( |
| 6625 | | | tvb, offset, pinfo, NULL, drep, |
| 6626 | [+] | | hf_enumprinterdataex_name_len, &name_len); |
Event 1:
dissect_ndr_uint32() does not initialize name_len. - This may be because of a failure case or other special case for dissect_ndr_uint32().
hide
|
|
 |
| 6627 | | | |
| 6628 | | | dissect_spoolss_uint16uni( |
| 6629 | | | tvb, start_offset + name_offset, pinfo, NULL, drep, |
| 6630 | | | &name, "Name"); |
| 6631 | | | |
| 6632 | | | item = proto_tree_add_text(tree, tvb, offset, 0, "Name: "); |
| 6633 | | | |
| 6634 | | | subtree = proto_item_add_subtree(item, ett_printer_enumdataex_value); |
| 6635 | | | |
| 6636 | | | proto_item_append_text(item, "%s", name); |
| 6637 | | | |
| 6638 | | | proto_tree_add_text( |
| 6639 | | | subtree, tvb, offset - 8, 4, "Name offset: %d", name_offset); |
| 6640 | | | |
| 6641 | | | proto_tree_add_text( |
| 6642 | | | subtree, tvb, offset - 4, 4, "Name len: %d", name_len); |
Uninitialized Variable
name_len was not initialized. The issue can occur if the highlighted code executes. See related event 1. Show: All events | Only primary events |
|
| |