(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-smb.c) |
| |
| 11882 | | | dissect_4_2_16_13(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, |
| 11883 | | | int offset, guint16 *bcp, gboolean *trunc) |
| 11884 | | | { |
| 11885 | | | smb_info_t *si = pinfo->private_data; |
| 11886 | | | const char *fn; |
| 11887 | | | int fn_len; |
| 11888 | | | |
| 11889 | | | DISSECTOR_ASSERT(si);
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
117 | #define DISSECTOR_ASSERT(expression) \ |
118 | ((void) ((expression) ? (void)0 : \ |
119 | __DISSECTOR_ASSERT (expression, __FILE__, __LINE__))) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
138 | #define __DISSECTOR_ASSERT(expression, file, lineno) \ |
139 | (REPORT_DISSECTOR_BUG( \ |
140 | ep_strdup_printf("%s:%u: failed assertion \"%s\"", \ |
141 | file, lineno, __DISSECTOR_ASSERT_STRINGIFY(expression)))) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/proto.h |
| |
106 | #define REPORT_DISSECTOR_BUG(message) \ |
107 | ((getenv("WIRESHARK_ABORT_ON_DISSECTOR_BUG") != NULL) ? \ |
108 | abort() : \ |
109 | THROW_MESSAGE(DissectorError, message)) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
226 | #define THROW_MESSAGE(x, y) \ |
227 | except_throw(XCEPT_GROUP_WIRESHARK, (x), (y)) |
| |
|
Event 1:
si evaluates to true.
hide
|
|
| 11890 | | | |
| 11891 | | | |
| 11892 | | | |
| 11893 | | | fn = get_unicode_or_ascii_string( |
| 11894 | [+] | | tvb, &offset, si->unicode, &fn_len, FALSE, TRUE, bcp); |
Event 2:
!0 evaluates to true.
hide
Event 3:
&fn_len is passed to get_unicode_or_ascii_string() as the fourth argument.
hide
Event 4:
get_unicode_or_ascii_string() does not initialize fn_len. - This may be because of a failure case or other special case for get_unicode_or_ascii_string().
hide
|
|
 |
| |