mirror of https://github.com/KLayout/klayout.git
Fixed issue 1757 (Triangles::clear () use-after-free) plus another uninitialized value. Added tests.
This commit is contained in:
parent
564861abe1
commit
7397b8e4e6
|
|
@ -37,7 +37,7 @@ namespace db
|
||||||
{
|
{
|
||||||
|
|
||||||
Triangles::Triangles ()
|
Triangles::Triangles ()
|
||||||
: m_is_constrained (false), m_level (0), m_flips (0), m_hops (0)
|
: m_is_constrained (false), m_level (0), m_id (0), m_flips (0), m_hops (0)
|
||||||
{
|
{
|
||||||
// .. nothing yet ..
|
// .. nothing yet ..
|
||||||
}
|
}
|
||||||
|
|
@ -1414,8 +1414,8 @@ Triangles::remove_outside_triangles ()
|
||||||
void
|
void
|
||||||
Triangles::clear ()
|
Triangles::clear ()
|
||||||
{
|
{
|
||||||
m_edges_heap.clear ();
|
|
||||||
mp_triangles.clear ();
|
mp_triangles.clear ();
|
||||||
|
m_edges_heap.clear ();
|
||||||
m_vertex_heap.clear ();
|
m_vertex_heap.clear ();
|
||||||
m_returned_edges.clear ();
|
m_returned_edges.clear ();
|
||||||
m_is_constrained = false;
|
m_is_constrained = false;
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,13 @@ TEST(basic)
|
||||||
EXPECT_EQ (tris.to_string (), "((1, 0), (1, 4), (5, 0)), ((1, 4), (5, 4), (5, 0))");
|
EXPECT_EQ (tris.to_string (), "((1, 0), (1, 4), (5, 0)), ((1, 4), (5, 4), (5, 0))");
|
||||||
|
|
||||||
EXPECT_EQ (tris.check (), true);
|
EXPECT_EQ (tris.check (), true);
|
||||||
|
|
||||||
|
tris.clear ();
|
||||||
|
|
||||||
|
EXPECT_EQ (tris.bbox ().to_string (), "()");
|
||||||
|
EXPECT_EQ (tris.to_string (), "");
|
||||||
|
|
||||||
|
EXPECT_EQ (tris.check (), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(flip)
|
TEST(flip)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue