These maps will always be non-null in btf_finalize under normal
circumstances, but be safe and verify that before trying to empty them.

Tested on x86_64-linux-gnu and x86_64-linux-gnu host for bpf-unknown-none
target. Pushed as obvious.

gcc/
        * btfout.cc (btf_finalize): Check that hash maps are non-null before
        emptying them.
---
 gcc/btfout.cc | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 083ca48d627..4a6b5453e08 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -1661,13 +1661,19 @@ btf_finalize (void)
   datasecs.release ();
 
   funcs = NULL;
-  func_map->empty ();
-  func_map = NULL;
+  if (func_map)
+    {
+      func_map->empty ();
+      func_map = NULL;
+    }
 
   if (debug_prune_btf)
     {
-      btf_used_types->empty ();
-      btf_used_types = NULL;
+      if (btf_used_types)
+       {
+         btf_used_types->empty ();
+         btf_used_types = NULL;
+       }
 
       fixups.release ();
       forwards = NULL;
-- 
2.45.2

Reply via email to