Skip to content

Commit 8edd58d

Browse files
committed
Disallow construction of smt_symbol_indext with empty string
1 parent aac7993 commit 8edd58d

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/solvers/smt2_incremental/smt_index.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ std::size_t smt_numeral_indext::value() const
5555
smt_symbol_indext::smt_symbol_indext(irep_idt identifier)
5656
: smt_indext{ID_smt_symbol_index}
5757
{
58+
PRECONDITION(!identifier.empty());
5859
set(ID_identifier, identifier);
5960
}
6061

unit/solvers/smt2_incremental/smt_index.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@ TEST_CASE("Test smt_indext.pretty is accessible.", "[core][smt2_incremental]")
1111
REQUIRE_FALSE(index.pretty().empty());
1212
}
1313

14+
TEST_CASE("Test smt_symbol_index construction", "[core][smt2_incremental]")
15+
{
16+
const cbmc_invariants_should_throwt invariants_throw;
17+
CHECK_NOTHROW(smt_symbol_indext{"foo"});
18+
CHECK_THROWS(smt_symbol_indext{""});
19+
}
20+
1421
TEST_CASE("Test smt_index getters", "[core][smt2_incremental]")
1522
{
1623
SECTION("Numeral")

0 commit comments

Comments
 (0)