diff options
author | Kevin Buettner <kevinb@redhat.com> | 2001-12-13 17:34:52 +0000 |
---|---|---|
committer | Kevin Buettner <kevinb@redhat.com> | 2001-12-13 17:34:52 +0000 |
commit | 5d003c95923bce6c630e7c37873d667d0c273d0f (patch) | |
tree | e222c9df7c6a57ffa8793b22de6f0c59200587ff /gdb/i387-nat.c | |
parent | 105ba819229cbdaf720200da3138847f57e70167 (diff) | |
download | gdb-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.
Diffstat (limited to 'gdb/i387-nat.c')
-rw-r--r-- | gdb/i387-nat.c | 4 |
1 files changed, 2 insertions, 2 deletions
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); |