Skip to content

Commit e23ec34

Browse files
author
kroening
committed
Extend checks to avoid unbounded recursion on
dereferencing
1 parent cbc2700 commit e23ec34

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/analyses/goto_rw.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,10 @@ void rw_range_set_value_sett::get_objects_dereference(
835835
new_size=std::min(size, new_size);
836836
}
837837

838-
if(object.is_not_nil() && object!=deref)
838+
// value_set_dereferencet::build_reference_to will turn *p into
839+
// DYNAMIC_OBJECT(p) ? *p : invalid_objectN
840+
if(object.is_not_nil() &&
841+
!value_set_dereferencet::has_dereference(object))
839842
get_objects_rec(mode, object, range_start, new_size);
840843
}
841844

0 commit comments

Comments
 (0)