(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-netflow.c) |
| |
| 3195 | | | dissect_pdu(tvbuff_t * tvb, packet_info * pinfo _U_, proto_tree * pdutree, int offset, hdrinfo_t * hdrinfo) |
| 3196 | | | { |
| 3197 | | | proto_item *hidden_item; |
| 3198 | | | int startoffset = offset; |
| 3199 | | | guint32 srcaddr, dstaddr; |
| 3200 | | | guint8 mask; |
| 3201 | | | nstime_t ts; |
| 3202 | | | guint8 ver; |
| 3203 | | | |
| 3204 | | | memset(&ts, '\0', sizeof(ts)); |
| 3205 | | | |
| 3206 | | | |
| 3207 | | | |
| 3208 | | | |
| 3209 | | | srcaddr = tvb_get_ipv4(tvb, offset); |
| 3210 | | | proto_tree_add_ipv4(pdutree, hf_cflow_srcaddr, tvb, offset, 4, |
| 3211 | | | srcaddr); |
| 3212 | | | offset += 4; |
| 3213 | | | |
| 3214 | | | dstaddr = tvb_get_ipv4(tvb, offset); |
| 3215 | | | proto_tree_add_ipv4(pdutree, hf_cflow_dstaddr, tvb, offset, 4, |
| 3216 | | | dstaddr); |
| 3217 | | | offset += 4; |
| 3218 | | | |
| 3219 | | | proto_tree_add_item(pdutree, hf_cflow_nexthop, tvb, offset, 4, FALSE); |
| 3220 | | | offset += 4; |
| 3221 | | | |
| 3222 | | | offset = flow_process_ints(pdutree, tvb, offset); |
| 3223 | | | offset = flow_process_sizecount(pdutree, tvb, offset); |
| 3224 | | | offset = flow_process_timeperiod(pdutree, tvb, offset); |
| 3225 | | | offset = flow_process_ports(pdutree, tvb, offset); |
| 3226 | | | |
| 3227 | | | |
| 3228 | | | |
| 3229 | | | |
| 3230 | | | |
| 3231 | | | ver = hdrinfo->vspec; |
| 3232 | | | |
| 3233 | | | if (ver == 1) { |
Event 1:
Taking false branch. ver == 1 evaluates to false.
hide
|
|
| 3234 | | | offset = |
| 3235 | | | flow_process_textfield(pdutree, tvb, offset, 2, "padding"); |
| 3236 | | | |
| 3237 | | | proto_tree_add_item(pdutree, hf_cflow_prot, tvb, offset++, 1, |
| 3238 | | | FALSE); |
| 3239 | | | |
| 3240 | | | proto_tree_add_item(pdutree, hf_cflow_tos, tvb, offset++, 1, |
| 3241 | | | FALSE); |
| 3242 | | | |
| 3243 | | | proto_tree_add_item(pdutree, hf_cflow_tcpflags, tvb, offset++, |
| 3244 | | | 1, FALSE); |
| 3245 | | | |
| 3246 | | | offset = |
| 3247 | | | flow_process_textfield(pdutree, tvb, offset, 3, "padding"); |
| 3248 | | | |
| 3249 | | | offset = |
| 3250 | | | flow_process_textfield(pdutree, tvb, offset, 4, |
| 3251 | | | "reserved"); |
| 3252 | | | } else { |
| 3253 | | | if (ver == 5) |
Event 2:
Taking true branch. ver == 5 evaluates to true.
hide
|
|
| 3254 | | | offset = |
| 3255 | | | flow_process_textfield(pdutree, tvb, offset, 1, |
| 3256 | | | "padding"); |
| 3257 | | | else { |
| 3258 | | | proto_tree_add_item(pdutree, hf_cflow_flags, tvb, |
| 3259 | | | offset++, 1, FALSE); |
| 3260 | | | } |
| 3261 | | | |
| 3262 | | | proto_tree_add_item(pdutree, hf_cflow_tcpflags, tvb, offset++, |
| 3263 | | | 1, FALSE); |
| 3264 | | | |
| 3265 | | | proto_tree_add_item(pdutree, hf_cflow_prot, tvb, offset++, 1, |
| 3266 | | | FALSE); |
| 3267 | | | |
| 3268 | | | proto_tree_add_item(pdutree, hf_cflow_tos, tvb, offset++, 1, |
| 3269 | | | FALSE); |
| 3270 | | | |
| 3271 | | | offset = flow_process_aspair(pdutree, tvb, offset); |
| 3272 | | | |
| 3273 | | | mask = tvb_get_guint8(tvb, offset); |
| 3274 | | | proto_tree_add_text(pdutree, tvb, offset, 1, |
| 3275 | | | "SrcMask: %u (prefix: %s/%u)", |
| 3276 | | | mask, getprefix(&srcaddr, mask), |
| 3277 | | | mask != 0 ? mask : 32); |
Event 3:
mask != 0 evaluates to true.
hide
|
|
| 3278 | | | hidden_item = proto_tree_add_uint(pdutree, hf_cflow_srcmask, tvb, |
| 3279 | | | offset++, 1, mask); |
| 3280 | | | PROTO_ITEM_SET_HIDDEN(hidden_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 4:
hidden_item evaluates to false.
hide
|
|
| 3281 | | | |
| 3282 | [+] | | mask = tvb_get_guint8(tvb, offset); |
 |
| 3283 | | | proto_tree_add_text(pdutree, tvb, offset, 1, |
| 3284 | | | "DstMask: %u (prefix: %s/%u)", |
| 3285 | [+] | | mask, getprefix(&dstaddr, mask), |
Event 15:
mask, which evaluates to 0, is passed to getprefix() as the second argument. See related event 14.
hide
|
|
 |
| 3286 | | | mask != 0 ? mask : 32); |
Event 13:
mask != 0 evaluates to false.
hide
Event 14:
Considering the case where mask is equal to 0. See related event 12.
hide
|
|
| |