This is the mail archive of the gdb-cvs@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]

[binutils-gdb] gdb.trace: Fix off-by-one in tfile_fetch_registers.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=473b99e5721ad623cc5826e03a73e2cf6cef4eb5

commit 473b99e5721ad623cc5826e03a73e2cf6cef4eb5
Author: Marcin KoÅ?cielnicki <koriakin@0x04.net>
Date:   Sat Feb 6 16:30:01 2016 +0100

    gdb.trace: Fix off-by-one in tfile_fetch_registers.
    
    This resulted in the last register being considered unavailable.
    On plain x86_64 (without AVX), this happened to be orig_rax.
    
    gdb/ChangeLog:
    
    	* tracefile-tfile.c (tfile_fetch_registers): Fix off-by-one in bounds
    	check.

Diff:
---
 gdb/ChangeLog         | 5 +++++
 gdb/tracefile-tfile.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1bca0d7..9f8aa1d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-10  Marcin KoÅ?cielnicki  <koriakin@0x04.net>
+
+	* tracefile-tfile.c (tfile_fetch_registers): Fix off-by-one in bounds
+	check.
+
 2016-02-10  Joel Brobecker  <brobecker@adacore.com>
 
 	* NEWS: Create a new section for the next release branch.
diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c
index b761894..dc7b05a 100644
--- a/gdb/tracefile-tfile.c
+++ b/gdb/tracefile-tfile.c
@@ -816,7 +816,7 @@ tfile_fetch_registers (struct target_ops *ops,
 	{
 	  regsize = register_size (gdbarch, regn);
 	  /* Make sure we stay within block bounds.  */
-	  if (offset + regsize >= trace_regblock_size)
+	  if (offset + regsize > trace_regblock_size)
 	    break;
 	  if (regcache_register_status (regcache, regn) == REG_UNKNOWN)
 	    {


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