aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2001-12-13 17:34:52 +0000
committerKevin Buettner <kevinb@redhat.com>2001-12-13 17:34:52 +0000
commit5d003c95923bce6c630e7c37873d667d0c273d0f (patch)
treee222c9df7c6a57ffa8793b22de6f0c59200587ff
parent105ba819229cbdaf720200da3138847f57e70167 (diff)
downloadgdb-5d003c95923bce6c630e7c37873d667d0c273d0f.zip
gdb-5d003c95923bce6c630e7c37873d667d0c273d0f.tar.gz
gdb-5d003c95923bce6c630e7c37873d667d0c273d0f.tar.bz2
* i387-nat.c (i387_fill_fxsave): Change type of ``val'' from char
to short so that we don't memcpy() beyond the end of this buffer. Also, change shift value used in computing val to account for the fact that only eight bits are used.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/i387-nat.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3e11259..1ea3b1b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2001-12-13 Kevin Buettner <kevinb@redhat.com>
+
+ * i387-nat.c (i387_fill_fxsave): Change type of ``val'' from char
+ to short so that we don't memcpy() beyond the end of this buffer.
+ Also, change shift value used in computing val to account for the
+ fact that only eight bits are used.
+
2001-12-13 Corinna Vinschen <vinschen@redhat.com>
* Makefile.in: Add support for xstormy16.
diff --git a/gdb/i387-nat.c b/gdb/i387-nat.c
index b15184e..f792336 100644
--- a/gdb/i387-nat.c
+++ b/gdb/i387-nat.c
@@ -270,7 +270,7 @@ i387_fill_fxsave (char *fxsave, int regnum)
{
/* Converting back is much easier. */
- unsigned char val = 0;
+ unsigned short val = 0;
unsigned short ftag;
int fpreg;
@@ -281,7 +281,7 @@ i387_fill_fxsave (char *fxsave, int regnum)
int tag = (ftag >> (fpreg * 2)) & 3;
if (tag != 3)
- val |= (1 << (fpreg * 2));
+ val |= (1 << fpreg);
}
memcpy (FXSAVE_ADDR (fxsave, i), &val, 2);