summaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorWill Newton <will.newton@linaro.org>2013-10-29 09:20:48 -0700
committerWill Newton <will.newton@linaro.org>2013-11-07 16:02:41 +0000
commit8782aa321e1bb466012a71791b8a40e2cb42d841 (patch)
tree62131ceb45f509f31bd340eab53a72a3359c6dab /sim
parenta22bc58c6ad25f1a2af7c93f3beeb4f927535329 (diff)
downloadbinutils-8782aa321e1bb466012a71791b8a40e2cb42d841.tar.gz
binutils-8782aa321e1bb466012a71791b8a40e2cb42d841.tar.bz2
binutils-8782aa321e1bb466012a71791b8a40e2cb42d841.zip
sim/arm: Prevent NULL pointer dereference in sim_create_inferior.
2013-11-07 Will Newton <will.newton@linaro.org> PR gdb/9195 * arm/wrapper.c (sim_create_inferior): Avoid calling bfd_get_mach with a NULL bfd.
Diffstat (limited to 'sim')
-rw-r--r--sim/ChangeLog6
-rw-r--r--sim/arm/wrapper.c12
2 files changed, 14 insertions, 4 deletions
diff --git a/sim/ChangeLog b/sim/ChangeLog
index 0060f81fd6e..bad626f99c9 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-07 Will Newton <will.newton@linaro.org>
+
+ PR gdb/9195
+ * arm/wrapper.c (sim_create_inferior): Avoid calling
+ bfd_get_mach with a NULL bfd.
+
2013-06-21 Nick Clifton <nickc@redhat.com>
* msp430: New Directory.
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index a4b76835a50..cf10e782a1f 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -244,11 +244,15 @@ sim_create_inferior (sd, abfd, argv, env)
char **arg;
if (abfd != NULL)
- ARMul_SetPC (state, bfd_get_start_address (abfd));
+ {
+ ARMul_SetPC (state, bfd_get_start_address (abfd));
+ mach = bfd_get_mach (abfd);
+ }
else
- ARMul_SetPC (state, 0); /* ??? */
-
- mach = bfd_get_mach (abfd);
+ {
+ ARMul_SetPC (state, 0); /* ??? */
+ mach = 0;
+ }
switch (mach)
{