(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-dcerpc.c) |
| |
| 4149 | | | dissect_dcerpc_cn_bs_body (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) |
| 4150 | | | { |
| 4151 | | | volatile int offset = 0; |
| 4152 | | | int pdu_len; |
| 4153 | | | volatile gboolean dcerpc_pdus = 0; |
| 4154 | | | volatile gboolean ret = FALSE; |
| 4155 | | | |
| 4156 | | | |
| 4157 | | | |
| 4158 | | | |
| 4159 | | | |
| 4160 | [+] | | while (tvb_reported_length_remaining(tvb, offset) != 0) { |
 |
| 4161 | | | |
| 4162 | | | |
| 4163 | | | |
| 4164 | | | |
| 4165 | | | |
| 4166 | | | |
| 4167 | | | |
| 4168 | | | |
| 4169 | | | |
| 4170 | | | TRY {
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
176 | #define TRY \ |
177 | {\ |
178 | except_t *exc; \ |
179 | volatile int except_state = 0; \ |
180 | static const except_id_t catch_spec[] = { \ |
181 | { XCEPT_GROUP_WIRESHARK, XCEPT_CODE_ANY } }; \ |
182 | except_try_push(catch_spec, 1, &exc); \ |
183 | \ |
184 | if(except_state & EXCEPT_CAUGHT) \ |
185 | except_state |= EXCEPT_RETHROWN; \ |
186 | except_state &= ~EXCEPT_CAUGHT; \ |
187 | \ |
188 | if (except_state == 0 && exc == 0) \ |
189 | /* user's code goes here */ |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/except.h |
| |
143 | #define except_try_push(ID, NUM, PPE) \ |
144 | { \ |
145 | struct except_stacknode except_sn; \ |
146 | struct except_catch except_ch; \ |
147 | except_setup_try(&except_sn, &except_ch, ID, NUM); \ |
148 | if (setjmp(except_ch.except_jmp)) \ |
149 | *(PPE) = &except_ch.except_obj; \ |
150 | else \ |
151 | *(PPE) = 0 |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
165 | #define EXCEPT_CAUGHT 1 /* exception has been caught, no need to rethrow at |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
168 | #define EXCEPT_RETHROWN 2 /* the exception was rethrown from a CATCH |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
165 | #define EXCEPT_CAUGHT 1 /* exception has been caught, no need to rethrow at |
| |
|
Event 5:
Taking false branch. setjmp(except_ch.except_jmp) evaluates to false.
hide
Event 6:
Skipping " if". except_state & 1 evaluates to false.
hide
Event 7:
Skipping " if". except_state == 0 evaluates to false.
hide
|
|
| 4171 | | | pdu_len = 0; |
| 4172 | | | if(dissect_dcerpc_cn (tvb, offset, pinfo, tree, |
| 4173 | | | dcerpc_cn_desegment, &pdu_len)) { |
| 4174 | | | dcerpc_pdus++; |
| 4175 | | | } |
| 4176 | | | } CATCH(BoundsError) {
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
202 | #define CATCH(x) \ |
203 | if (except_state == 0 && exc != 0 && exc->except_id.except_code == (x) && \ |
204 | (except_state |= EXCEPT_CAUGHT)) \ |
205 | /* user's code goes here */ |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
165 | #define EXCEPT_CAUGHT 1 /* exception has been caught, no need to rethrow at |
| |
|
Event 8:
Skipping " if". except_state == 0 evaluates to false.
hide
|
|
| 4177 | | | RETHROW;
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
231 | #define RETHROW \ |
232 | { \ |
233 | /* check we're in a catch block */ \ |
234 | g_assert(except_state == EXCEPT_CAUGHT); \ |
235 | /* we can't use except_rethrow here, as that pops a catch block \ |
236 | * off the stack, and we don't want to do that, because we want to \ |
237 | * excecute the FINALLY {} block first. \ |
238 | * except_throw doesn't provide an interface to rethrow an existing \ |
239 | * exception; however, longjmping back to except_try_push() has the \ |
240 | * desired effect. \ |
241 | * \ |
242 | * Note also that THROW and RETHROW should provide much the same \ |
243 | * functionality in terms of which blocks to enter, so any messing \ |
| |
x /usr/include/glib-2.0/glib/gtestutils.h |
| |
74 | #define g_assert(expr) do { if G_LIKELY (expr) ; else \ |
75 | g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \ |
76 | #expr); } while (0) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
277 | #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1)) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
268 | #define _G_BOOLEAN_EXPR(expr) \ |
269 | __extension__ ({ \ |
270 | int _g_boolean_var_; \ |
271 | if (expr) \ |
272 | _g_boolean_var_ = 1; \ |
273 | else \ |
274 | _g_boolean_var_ = 0; \ |
275 | _g_boolean_var_; \ |
276 | }) |
| |
x /usr/include/glib-2.0/glib/gmacros.h |
| |
160 | # define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
165 | #define EXCEPT_CAUGHT 1 /* exception has been caught, no need to rethrow at |
| |
|
| 4178 | | | } CATCH(ReportedBoundsError) {
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
202 | #define CATCH(x) \ |
203 | if (except_state == 0 && exc != 0 && exc->except_id.except_code == (x) && \ |
204 | (except_state |= EXCEPT_CAUGHT)) \ |
205 | /* user's code goes here */ |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
165 | #define EXCEPT_CAUGHT 1 /* exception has been caught, no need to rethrow at |
| |
|
Event 9:
Skipping " if". except_state == 0 evaluates to false.
hide
|
|
| 4179 | | | show_reported_bounds_error(tvb, pinfo, tree); |
| 4180 | | | |
| 4181 | | | |
| 4182 | | | |
| 4183 | | | |
| 4184 | | | dcerpc_pdus++; |
| 4185 | | | } ENDTRY;
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
191 | #define ENDTRY \ |
192 | /* rethrow the exception if necessary */ \ |
193 | if(!(except_state&EXCEPT_CAUGHT) && exc != 0) \ |
194 | except_rethrow(exc); \ |
195 | except_try_pop();\ |
196 | } |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/exceptions.h |
| |
165 | #define EXCEPT_CAUGHT 1 /* exception has been caught, no need to rethrow at |
| |
x /home/sate/Testcases/c/cve/wireshark-1.2.0/epan/except.h |
| |
153 | #define except_try_pop() \ |
154 | except_free(except_ch.except_obj.except_dyndata); \ |
155 | except_pop(); \ |
156 | } |
| |
|
Event 10:
Skipping " if". except_state & 1 evaluates to true.
hide
|
|
| 4186 | | | |
| 4187 | | | if (!dcerpc_pdus) { |
Event 11:
Skipping " if". dcerpc_pdus evaluates to true.
hide
|
|
| 4188 | | | |
| 4189 | | | |
| 4190 | | | |
| 4191 | | | break; |
| 4192 | | | } |
| 4193 | | | |
| 4194 | | | |
| 4195 | | | |
| 4196 | | | |
| 4197 | | | ret = TRUE; |
Event 12:
!0 evaluates to true.
hide
|
|
| 4198 | | | |
| 4199 | | | |
| 4200 | | | |
| 4201 | | | if (dcerpc_pdus >= 2 && check_col (pinfo->cinfo, COL_PROTOCOL)) |
Event 13:
Skipping " if". dcerpc_pdus >= 2 evaluates to false.
hide
|
|
| 4202 | | | col_add_fstr(pinfo->cinfo, COL_PROTOCOL, "%u*DCERPC", dcerpc_pdus); |
| 4203 | | | |
| 4204 | | | if (pdu_len == 0) { |
| |