@@ -991,7 +991,8 @@ void goto_checkt::pointer_validity_check(
991
991
allocs=disjunction (disjuncts);
992
992
}
993
993
994
- if (flags.is_unknown () || flags.is_null ())
994
+ if (flags.is_unknown () ||
995
+ flags.is_null ())
995
996
{
996
997
add_guarded_claim (
997
998
or_exprt (allocs, not_exprt (null_pointer (pointer))),
@@ -1002,7 +1003,8 @@ void goto_checkt::pointer_validity_check(
1002
1003
guard);
1003
1004
}
1004
1005
1005
- if (flags.is_unknown ())
1006
+ if (flags.is_unknown () ||
1007
+ flags.is_integer_address ())
1006
1008
add_guarded_claim (
1007
1009
or_exprt (allocs, not_exprt (invalid_pointer (pointer))),
1008
1010
" dereference failure: pointer invalid" ,
@@ -1020,7 +1022,9 @@ void goto_checkt::pointer_validity_check(
1020
1022
expr,
1021
1023
guard);
1022
1024
1023
- if (flags.is_unknown () || flags.is_dynamic_heap ())
1025
+ if (flags.is_unknown () ||
1026
+ flags.is_dynamic_heap () ||
1027
+ flags.is_integer_address ())
1024
1028
add_guarded_claim (
1025
1029
or_exprt (allocs, not_exprt (deallocated (pointer, ns))),
1026
1030
" dereference failure: deallocated dynamic object" ,
@@ -1029,7 +1033,9 @@ void goto_checkt::pointer_validity_check(
1029
1033
expr,
1030
1034
guard);
1031
1035
1032
- if (flags.is_unknown () || flags.is_dynamic_local ())
1036
+ if (flags.is_unknown () ||
1037
+ flags.is_dynamic_local () ||
1038
+ flags.is_integer_address ())
1033
1039
add_guarded_claim (
1034
1040
or_exprt (allocs, not_exprt (dead_object (pointer, ns))),
1035
1041
" dereference failure: dead object" ,
@@ -1038,7 +1044,9 @@ void goto_checkt::pointer_validity_check(
1038
1044
expr,
1039
1045
guard);
1040
1046
1041
- if (flags.is_unknown () || flags.is_dynamic_heap ())
1047
+ if (flags.is_unknown () ||
1048
+ flags.is_dynamic_heap () ||
1049
+ flags.is_integer_address ())
1042
1050
{
1043
1051
const or_exprt dynamic_bounds (
1044
1052
dynamic_object_lower_bound (pointer, ns, access_lb),
@@ -1059,7 +1067,8 @@ void goto_checkt::pointer_validity_check(
1059
1067
1060
1068
if (flags.is_unknown () ||
1061
1069
flags.is_dynamic_local () ||
1062
- flags.is_static_lifetime ())
1070
+ flags.is_static_lifetime () ||
1071
+ flags.is_integer_address ())
1063
1072
{
1064
1073
const or_exprt object_bounds (
1065
1074
object_lower_bound (pointer, ns, access_lb),
0 commit comments