This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] gdb: sim: check return value of sim_create_inferior


The current gdbsim_create_inferior func doesn't check the return value
of sim_create_inferior which can be problematic when that func doesn't
return success.  So, if it fails, call error() and be done.

Reported-by: Richard Stuckey <richard.stuckey@arc.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

2012-02-15  Mike Frysinger  <vapier@gentoo.org>

	PR gdb/9734:
	* remote-sim.c (gdbsim_create_inferior): Call error() when
	sim_create_inferior() fails.
---
 gdb/remote-sim.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 2a586e5..ee73cce 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -641,7 +641,10 @@ gdbsim_create_inferior (struct target_ops *target, char *exec_file, char *args,
     }
   else
     argv = NULL;
-  sim_create_inferior (sim_data->gdbsim_desc, exec_bfd, argv, env);
+
+  if (sim_create_inferior (sim_data->gdbsim_desc, exec_bfd, argv, env)
+      != SIM_RC_OK)
+    error (_("Unable to create sim inferior."));
 
   inferior_ptid = sim_data->remote_sim_ptid;
   inferior_appeared (current_inferior (), ptid_get_pid (inferior_ptid));
-- 
1.7.8.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]