File tree 1 file changed +7
-3
lines changed 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -965,7 +965,11 @@ static optionalt<exprt> get_array(
965
965
const array_string_exprt &arr,
966
966
const array_poolt &array_pool)
967
967
{
968
- const exprt &size = arr.length ();
968
+ const auto &size_from_pool = array_pool.get_length_if_exists (arr);
969
+ const exprt size = size_from_pool.has_value ()
970
+ ? size_from_pool.value ()
971
+ : exprt (ID_unknown, arr.length_type ());
972
+
969
973
exprt arr_val = simplify_expr (adjust_if_recursive (super_get (arr), ns), ns);
970
974
exprt size_val = super_get (size);
971
975
size_val = simplify_expr (size_val, ns);
@@ -991,8 +995,8 @@ static optionalt<exprt> get_array(
991
995
992
996
if (n > MAX_CONCRETE_STRING_SIZE)
993
997
{
994
- stream << " (sr::get_array) long string (size " << format (arr. length ())
995
- << " = " << n << " ) " << format (arr) << messaget::eom;
998
+ stream << " (sr::get_array) long string (size " << format (size) << " = " << n
999
+ << " ) " << format (arr) << messaget::eom;
996
1000
stream << " (sr::get_array) consider reducing max-nondet-string-length so "
997
1001
" that no string exceeds "
998
1002
<< MAX_CONCRETE_STRING_SIZE
You can’t perform that action at this time.
0 commit comments