Merge pull request #372 from gtalusan/gdb-bigread
authortexane <texane@gmail.com>
Fri, 19 Feb 2016 06:10:00 +0000 (07:10 +0100)
committertexane <texane@gmail.com>
Fri, 19 Feb 2016 06:10:00 +0000 (07:10 +0100)
clamp gdb memory reads to 0x1800

gdbserver/gdb-server.c

index c8152118b0db5908dc742959c11d7d610b4a605a..b272f4caa751bd418aad96448440134bf27ef79f 100644 (file)
@@ -1353,6 +1353,12 @@ int serve(stlink_t *sl, st_state_t *st) {
 
                 unsigned adj_start = start % 4;
                 unsigned count_rnd = (count + adj_start + 4 - 1) / 4 * 4;
+                if (count_rnd > sl->flash_pgsz)
+                    count_rnd = sl->flash_pgsz;
+                if (count_rnd > 0x1800)
+                    count_rnd = 0x1800;
+                if (count_rnd < count)
+                    count = count_rnd;
 
                 stlink_read_mem32(sl, start - adj_start, count_rnd);