Avoid undefined behavior in Guile exception handling
[deliverable/binutils-gdb.git] / gdb / guile / scm-symtab.c
index 60ed70725567ce41d7228bb11d66f2f120c7d5be..e55e49b0333a3f9e33305350ef517115aa0405e4 100644 (file)
@@ -591,6 +591,7 @@ gdbscm_find_pc_line (SCM pc_scm)
 
   gdbscm_parse_function_args (FUNC_NAME, SCM_ARG1, NULL, "U", pc_scm, &pc_ull);
 
+  gdbscm_gdb_exception exc {};
   try
     {
       CORE_ADDR pc = (CORE_ADDR) pc_ull;
@@ -599,9 +600,10 @@ gdbscm_find_pc_line (SCM pc_scm)
     }
   catch (const gdb_exception &except)
     {
-      GDBSCM_HANDLE_GDB_EXCEPTION (except);
+      exc = unpack (except);
     }
 
+  GDBSCM_HANDLE_GDB_EXCEPTION (exc);
   return stscm_scm_from_sal (sal);
 }
 \f
This page took 0.02396 seconds and 4 git commands to generate.