]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Delete gori_map during destruction of GORI.
authorAndrew MacLeod <amacleod@redhat.com>
Sat, 25 May 2024 16:28:52 +0000 (12:28 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Sun, 26 May 2024 01:30:18 +0000 (21:30 -0400)
Forgot to free the gori_mpa object when a gori object is freed.

PR tree-optimization/115208
* value-query.cc (range_query::create_gori): Confirm gori_map is NULL.
(range_query::destroy_gori): Free gori_map if one was allocated.

gcc/value-query.cc

index 0d0c0e8058e0050d4754d42ada0dbd0a79ff2237..556a0f39b0944606265201ca3afbb2d3cc04bae9 100644 (file)
@@ -188,6 +188,7 @@ void
 range_query::create_gori (int not_executable_flag, int sw_max_edges)
 {
   gcc_checking_assert (m_gori == &default_gori);
+  gcc_checking_assert (m_map == NULL);
   m_map = new gori_map ();
   gcc_checking_assert (m_map);
   m_gori = new gori_compute (*m_map, not_executable_flag, sw_max_edges);
@@ -199,6 +200,9 @@ range_query::destroy_gori ()
 {
   if (m_gori && m_gori != &default_gori)
     delete m_gori;
+  if (m_map)
+    delete m_map;
+  m_map = NULL;
   m_gori= &default_gori;
 }