aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannes Domani <ssbssa@yahoo.de>2020-04-22 19:05:07 +0200
committerHannes Domani <ssbssa@yahoo.de>2020-04-22 21:23:39 +0200
commit51ac8e22655ba777498249ae0c776fd794a2c298 (patch)
tree1d88e1d2d36923a69e941b9e6c1eaf007d112b8d
parent33b5a83027f1eb5a7a628f010667f470b21d5aa8 (diff)
downloadgdb-51ac8e22655ba777498249ae0c776fd794a2c298.zip
gdb-51ac8e22655ba777498249ae0c776fd794a2c298.tar.gz
gdb-51ac8e22655ba777498249ae0c776fd794a2c298.tar.bz2
Fix search of large memory area in gdbserver
If the search area is bigger than SEARCH_CHUNK_SIZE (16000), then you get an error in gdbserver: gdb: (gdb) find /w 0x3c43f0,+20000,0x04030201 gdb: Pattern not found. gdbserver: Unable to access 3997 bytes of target memory at 0x3c8273, halting search. The return value of any additional gdb_read_memory calls were compared with the wrong value, this fixes it. gdbserver/ChangeLog: 2020-04-22 Hannes Domani <ssbssa@yahoo.de> * server.cc (handle_search_memory_1): Fix gdb_read_memory return value comparison.
-rw-r--r--gdbserver/ChangeLog5
-rw-r--r--gdbserver/server.cc2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 96642e5..f017922 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-22 Hannes Domani <ssbssa@yahoo.de>
+
+ * server.cc (handle_search_memory_1): Fix gdb_read_memory return value
+ comparison.
+
2020-04-16 Tom Tromey <tromey@adacore.com>
* win32-low.cc (windows_nat::handle_access_violation): New
diff --git a/gdbserver/server.cc b/gdbserver/server.cc
index 77175ff..0672f9b 100644
--- a/gdbserver/server.cc
+++ b/gdbserver/server.cc
@@ -1103,7 +1103,7 @@ handle_search_memory_1 (CORE_ADDR start_addr, CORE_ADDR search_space_len,
: chunk_size);
if (gdb_read_memory (read_addr, search_buf + keep_len,
- nr_to_read) != search_buf_size)
+ nr_to_read) != nr_to_read)
{
warning ("Unable to access %ld bytes of target memory "
"at 0x%lx, halting search.",