(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-per.c) |
| |
| 2085 | | | dissect_per_octet_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension, tvbuff_t **value_tvb) |
| 2086 | | | { |
| 2087 | | | gint val_start = 0, val_length; |
| 2088 | | | guint32 length; |
| 2089 | | | *hfi; |
| 2090 | | | tvbuff_t *out_tvb = NULL; |
| 2091 | | | |
| 2092 | | | hfi = (hf_index==-1) ? NULL : proto_registrar_get_nth(hf_index); |
Event 1:
hf_index == -1 evaluates to true.
hide
|
|
| 2093 | | | |
| 2094 | | | DEBUG_ENTRY("dissect_per_octet_string"); |
| 2095 | | | |
| 2096 | | | if (has_extension) { |
Event 2:
Taking true branch. has_extension evaluates to true.
hide
|
|
| 2097 | | | gboolean extension_present; |
| 2098 | [+] | | offset = dissect_per_boolean(tvb, offset, actx, tree, hf_per_extension_present_bit, &extension_present); |
 |
| 2099 | | | if (!display_internal_per_fields) PROTO_ITEM_SET_HIDDEN(actx->created_item);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
319 | #define PROTO_ITEM_SET_HIDDEN(proto_item) \ |
320 | ((proto_item) ? FI_SET_FLAG((proto_item)->finfo, FI_HIDDEN) : 0) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
246 | #define FI_SET_FLAG(fi, flag) (fi->flags = fi->flags | flag) |
| |
|
Event 6:
Taking true branch. display_internal_per_fields evaluates to false.
hide
Event 7:
actx->created_item evaluates to false.
hide
|
|
| 2100 | | | if (extension_present) max_len = NO_BOUND; |
Event 8:
Skipping " if". extension_present evaluates to false.
hide
|
|
| 2101 | | | } |
| 2102 | | | |
| 2103 | | | if (min_len == NO_BOUND) { |
Event 9:
Skipping " if". min_len == -1 evaluates to false.
hide
|
|
| 2104 | | | min_len = 0; |
| 2105 | | | } |
| 2106 | | | if (max_len==0) { |
Event 10:
Taking false branch. max_len == 0 evaluates to false.
hide
|
|
| 2107 | | | val_start = offset>>3; |
| 2108 | | | val_length = 0; |
| 2109 | | | |
| 2110 | | | } else if((min_len==max_len)&&(max_len<=2)) { |
Event 11:
Taking false branch. min_len == max_len evaluates to false.
hide
|
|
| 2111 | | | |
| 2112 | | | val_start = offset>>3; |
| 2113 | | | val_length = min_len; |
| 2114 | | | out_tvb = new_octet_aligned_subset(tvb, offset, actx, val_length); |
| 2115 | | | offset+=min_len*8; |
| 2116 | | | |
| 2117 | | | } else if ((min_len==max_len)&&(min_len<65536)) { |
Event 12:
Taking false branch. min_len == max_len evaluates to false.
hide
|
|
| 2118 | | | |
| 2119 | | | |
| 2120 | | | |
| 2121 | | | if (actx->aligned){ |
| 2122 | | | BYTE_ALIGN_OFFSET(offset);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-per.c |
| |
120 | #define BYTE_ALIGN_OFFSET(offset) if(offset&0x07){offset=(offset&0xfffffff8)+8;} |
| |
|
| 2123 | | | } |
| 2124 | | | val_start = offset>>3; |
| 2125 | | | val_length = min_len; |
| 2126 | | | out_tvb = new_octet_aligned_subset(tvb, offset, actx, val_length); |
| 2127 | | | offset+=min_len*8; |
| 2128 | | | |
| 2129 | | | } else { |
| 2130 | | | if(max_len>0) { |
Event 13:
Taking false branch. max_len > 0 evaluates to false.
hide
|
|
| 2131 | | | offset = dissect_per_constrained_integer(tvb, offset, actx, tree, |
| 2132 | | | hf_per_octet_string_length, min_len, max_len, &length, FALSE); |
| 2133 | | | |
| 2134 | | | if (!display_internal_per_fields) |
| 2135 | | | PROTO_ITEM_SET_HIDDEN(actx->created_item);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
319 | #define PROTO_ITEM_SET_HIDDEN(proto_item) \ |
320 | ((proto_item) ? FI_SET_FLAG((proto_item)->finfo, FI_HIDDEN) : 0) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
246 | #define FI_SET_FLAG(fi, flag) (fi->flags = fi->flags | flag) |
| |
|
| 2136 | | | } else { |
| 2137 | | | offset = dissect_per_length_determinant(tvb, offset, actx, tree, |
| 2138 | [+] | | hf_per_octet_string_length, &length); |
Event 14:
dissect_per_length_determinant() does not initialize length. - This may be because of a failure case or other special case for dissect_per_length_determinant().
hide
|
|
 |
| 2139 | | | } |
| 2140 | | | |
| 2141 | | | if(length){ |
Uninitialized Variable
length was not initialized. The issue can occur if the highlighted code executes. See related event 14. Show: All events | Only primary events |
|
| |