File tree Expand file tree Collapse file tree 2 files changed +16
-4
lines changed
regression/jbmc/nondet_propagation1 Expand file tree Collapse file tree 2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change
1
+ CORE
2
+ andNot_Bug.class
3
+ --depth 1600 --java-unwind-enum-static --java-max-vla-length 48 --unwind 4 --max-nondet-string-length 100 andNot_Pass.class --function andNot_Pass.main
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
6
+ VERIFICATION SUCCESSFUL
7
+ --
8
+ --
9
+ This somewhat bogus test (both andNot_Pass.class and andNot_Bug.class are
10
+ specified on the command line) resulted in a segmentation fault when used with
11
+ symex-driven-lazy-loading. Even though that's a bogus command line, user input
12
+ should never trigger a segmentation fault.
Original file line number Diff line number Diff line change @@ -492,16 +492,16 @@ static code_blockt record_pointer_parameters(
492
492
for (std::size_t param_number = 0 ; param_number < parameters.size ();
493
493
param_number++)
494
494
{
495
- const symbolt & p_symbol =
496
- * symbol_table.lookup (parameters[param_number].get_identifier ());
495
+ const symbolt * p_symbol =
496
+ symbol_table.lookup (parameters[param_number].get_identifier ());
497
497
498
- if (!can_cast_type<pointer_typet>(p_symbol. type ))
498
+ if (!p_symbol || ! can_cast_type<pointer_typet>(p_symbol-> type ))
499
499
continue ;
500
500
501
501
codet output (ID_output);
502
502
output.operands ().resize (2 );
503
503
output.op0 () = address_of_exprt (index_exprt (
504
- string_constantt (p_symbol. base_name ), from_integer (0 , index_type ())));
504
+ string_constantt (p_symbol-> base_name ), from_integer (0 , index_type ())));
505
505
output.op1 () = arguments[param_number];
506
506
output.add_source_location () = function.location ;
507
507
You can’t perform that action at this time.
0 commit comments