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] sim: callback: fix sentinel testing when walking maps


The new helpers for walking the maps tested the wrong value for exiting
the for loop.  This caused crashes when looking up entries that were not
in the map.

Committed.
---
 sim/common/ChangeLog  | 5 +++++
 sim/common/callback.c | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 59d92f4..afc1b3a 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-18  Mike Frysinger  <vapier@gentoo.org>
+
+	* callback.c (cb_target_map_entry, cb_host_map_entry): Change map to
+	m for sentinel testing.
+
 2015-06-17  Mike Frysinger  <vapier@gentoo.org>
 
 	* sim-syscall.c: Include errno.h and targ-vals.h.
diff --git a/sim/common/callback.c b/sim/common/callback.c
index 9b42536..486f182 100644
--- a/sim/common/callback.c
+++ b/sim/common/callback.c
@@ -803,7 +803,7 @@ cb_target_map_entry (const CB_TARGET_DEFS_MAP map[], int target_val)
 {
   const CB_TARGET_DEFS_MAP *m;
 
-  for (m = &map[0]; map->target_val != -1; ++m)
+  for (m = &map[0]; m->target_val != -1; ++m)
     if (m->target_val == target_val)
       return m;
 
@@ -815,7 +815,7 @@ cb_host_map_entry (const CB_TARGET_DEFS_MAP map[], int host_val)
 {
   const CB_TARGET_DEFS_MAP *m;
 
-  for (m = &map[0]; map->host_val != -1; ++m)
+  for (m = &map[0]; m->host_val != -1; ++m)
     if (m->host_val == host_val)
       return m;
 
-- 
2.4.1


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