@@ -1282,30 +1282,24 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
12821282 const exprt in_bounds_of_some_explicit_allocation =
12831283 disjunction (alloc_disjuncts);
12841284
1285- if (flags.is_unknown () || flags.is_null ())
1286- {
1287- conditions.push_back (conditiont (
1288- or_exprt (
1289- in_bounds_of_some_explicit_allocation,
1290- not_exprt (null_pointer (address))),
1291- " pointer NULL" ));
1292- }
1285+ const bool unknown = flags.is_unknown () || flags.is_uninitialized ();
12931286
1294- if (flags. is_unknown () )
1287+ if (unknown )
12951288 {
12961289 conditions.push_back (conditiont{
12971290 not_exprt{is_invalid_pointer_exprt{address}}, " pointer invalid" });
12981291 }
12991292
1300- if (flags.is_uninitialized ())
1293+ if (unknown || flags.is_null ())
13011294 {
1302- conditions.push_back (
1303- conditiont{or_exprt{in_bounds_of_some_explicit_allocation,
1304- not_exprt{is_invalid_pointer_exprt{address}}},
1305- " pointer uninitialized" });
1295+ conditions.push_back (conditiont (
1296+ or_exprt (
1297+ in_bounds_of_some_explicit_allocation,
1298+ not_exprt (null_pointer (address))),
1299+ " pointer NULL" ));
13061300 }
13071301
1308- if (flags. is_unknown () || flags.is_dynamic_heap ())
1302+ if (unknown || flags.is_dynamic_heap ())
13091303 {
13101304 conditions.push_back (conditiont (
13111305 or_exprt (
@@ -1314,7 +1308,7 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
13141308 " deallocated dynamic object" ));
13151309 }
13161310
1317- if (flags. is_unknown () || flags.is_dynamic_local ())
1311+ if (unknown || flags.is_dynamic_local ())
13181312 {
13191313 conditions.push_back (conditiont (
13201314 or_exprt (
@@ -1323,7 +1317,7 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
13231317 " dead object" ));
13241318 }
13251319
1326- if (flags. is_unknown () || flags.is_dynamic_heap ())
1320+ if (unknown || flags.is_dynamic_heap ())
13271321 {
13281322 const or_exprt object_bounds_violation (
13291323 object_lower_bound (address, nil_exprt ()),
@@ -1337,9 +1331,7 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
13371331 " pointer outside dynamic object bounds" ));
13381332 }
13391333
1340- if (
1341- flags.is_unknown () || flags.is_dynamic_local () ||
1342- flags.is_static_lifetime ())
1334+ if (unknown || flags.is_dynamic_local () || flags.is_static_lifetime ())
13431335 {
13441336 const or_exprt object_bounds_violation (
13451337 object_lower_bound (address, nil_exprt ()),
@@ -1354,7 +1346,7 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
13541346 " pointer outside object bounds" ));
13551347 }
13561348
1357- if (flags. is_unknown () || flags.is_integer_address ())
1349+ if (unknown || flags.is_integer_address ())
13581350 {
13591351 conditions.push_back (conditiont (
13601352 implies_exprt (
0 commit comments