(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-dcerpc-spoolss.c) |
| |
| 3899 | | | static int SpoolssEnumPrinters_q(tvbuff_t *tvb, int offset, packet_info *pinfo, |
| 3900 | | | proto_tree *tree, guint8 *drep _U_) |
| 3901 | | | { |
| 3902 | | | guint32 level, flags; |
| 3903 | | | proto_tree *flags_subtree; |
| 3904 | | | proto_item *flags_item; |
| 3905 | | | dcerpc_info *di = (dcerpc_info *)pinfo->private_data; |
| 3906 | | | dcerpc_call_value *dcv = (dcerpc_call_value *)di->call_data; |
| 3907 | | | |
| 3908 | | | |
| 3909 | | | |
| 3910 | | | offset = dissect_ndr_uint32( |
| 3911 | | | tvb, offset, pinfo, NULL, drep, |
| 3912 | | | hf_enumprinters_flags, &flags); |
| 3913 | | | |
| 3914 | | | flags_item = proto_tree_add_text(tree, tvb, offset - 4, 4, |
| 3915 | | | "Flags: 0x%08x", flags); |
| 3916 | | | |
| 3917 | | | flags_subtree = proto_item_add_subtree( |
| 3918 | | | flags_item, ett_enumprinters_flags); |
| 3919 | | | |
| 3920 | | | proto_tree_add_boolean( |
| 3921 | | | flags_subtree, hf_enumprinters_flags_network, tvb, |
| 3922 | | | offset - 4, 4, flags); |
| 3923 | | | |
| 3924 | | | proto_tree_add_boolean( |
| 3925 | | | flags_subtree, hf_enumprinters_flags_shared, tvb, |
| 3926 | | | offset - 4, 4, flags); |
| 3927 | | | |
| 3928 | | | proto_tree_add_boolean( |
| 3929 | | | flags_subtree, hf_enumprinters_flags_remote, tvb, |
| 3930 | | | offset - 4, 4, flags); |
| 3931 | | | |
| 3932 | | | proto_tree_add_boolean( |
| 3933 | | | flags_subtree, hf_enumprinters_flags_name, tvb, |
| 3934 | | | offset - 4, 4, flags); |
| 3935 | | | |
| 3936 | | | proto_tree_add_boolean( |
| 3937 | | | flags_subtree, hf_enumprinters_flags_connections, tvb, |
| 3938 | | | offset - 4, 4, flags); |
| 3939 | | | |
| 3940 | | | proto_tree_add_boolean( |
| 3941 | | | flags_subtree, hf_enumprinters_flags_local, tvb, |
| 3942 | | | offset - 4, 4, flags); |
| 3943 | | | |
| 3944 | | | proto_tree_add_boolean( |
| 3945 | | | flags_subtree, hf_enumprinters_flags_default, tvb, |
| 3946 | | | offset - 4, 4, flags); |
| 3947 | | | |
| 3948 | | | offset = dissect_ndr_str_pointer_item( |
| 3949 | | | tvb, offset, pinfo, tree, drep, |
| 3950 | | | NDR_POINTER_UNIQUE, "Server name", hf_servername, 0); |
| 3951 | | | |
| 3952 | | | offset = dissect_ndr_uint32( |
| 3953 | [+] | | tvb, offset, pinfo, tree, drep, hf_level, &level); |
Event 1:
dissect_ndr_uint32() does not initialize level. - This may be because of a failure case or other special case for dissect_ndr_uint32().
hide
|
|
 |
| 3954 | | | |
| 3955 | | | |
| 3956 | | | if(!pinfo->fd->flags.visited){ |
Event 3:
Taking true branch. pinfo->fd->flags.visited evaluates to false.
hide
|
|
| 3957 | | | dcv->se_data = GINT_TO_POINTER((int)level); |
Uninitialized Variable
level was not initialized. The issue can occur if the highlighted code executes. See related event 1. Show: All events | Only primary events |
|
| |