diff options
author | Joel Brobecker <brobecker@gnat.com> | 2012-03-13 22:27:12 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2012-03-13 22:27:12 +0000 |
commit | e3ebf1bb4166d27e70d049033773740cbd05b5d1 (patch) | |
tree | 6c238b0bbb0cce8acc257ac0e78291141a6dc747 /gdb/aix-thread.c | |
parent | 168997566e2a9a7050bd9f236c4b6d9a2223864c (diff) | |
download | gdb-e3ebf1bb4166d27e70d049033773740cbd05b5d1.zip gdb-e3ebf1bb4166d27e70d049033773740cbd05b5d1.tar.gz gdb-e3ebf1bb4166d27e70d049033773740cbd05b5d1.tar.bz2 |
Fix buffer overflow in aix-thread.c:fill_fprs
gdb/
2012-03-08 Chris January <chris.january@allinea.com>
* aix-thread.c (fill_sprs): Store the floating point registers
at the correct offsets into vals.
Diffstat (limited to 'gdb/aix-thread.c')
-rw-r--r-- | gdb/aix-thread.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/aix-thread.c b/gdb/aix-thread.c index 3cdab48..f9787e3 100644 --- a/gdb/aix-thread.c +++ b/gdb/aix-thread.c @@ -1356,7 +1356,8 @@ fill_fprs (const struct regcache *regcache, double *vals) regno < tdep->ppc_fp0_regnum + ppc_num_fprs; regno++) if (REG_VALID == regcache_register_status (regcache, regno)) - regcache_raw_collect (regcache, regno, vals + regno); + regcache_raw_collect (regcache, regno, + vals + regno - tdep->ppc_fp0_regnum); } /* Store the special registers into the specified 64-bit and 32-bit |